Skip to content
Snippets Groups Projects
Commit 0c06f17a authored by Wesley W. Terpstra's avatar Wesley W. Terpstra
Browse files

Better example using a full cycle.

parent 8fca61ae
Branches
Tags
No related merge requests found
...@@ -47,6 +47,7 @@ int main(int argc, const char** argv) { ...@@ -47,6 +47,7 @@ int main(int argc, const char** argv) {
eb_socket_t socket; eb_socket_t socket;
eb_status_t status; eb_status_t status;
eb_device_t device; eb_device_t device;
eb_cycle_t cycle;
eb_address_t address; eb_address_t address;
const char* netaddress; const char* netaddress;
int stop; int stop;
...@@ -73,7 +74,14 @@ int main(int argc, const char** argv) { ...@@ -73,7 +74,14 @@ int main(int argc, const char** argv) {
fprintf(stdout, "Reading from device %s at %08"EB_ADDR_FMT": ", netaddress, address); fprintf(stdout, "Reading from device %s at %08"EB_ADDR_FMT": ", netaddress, address);
fflush(stdout); fflush(stdout);
eb_device_read(device, address, 0, &stop, &set_stop); /* A simple cycle */
if ((cycle = eb_cycle_open(device, &stop, &set_stop)) == EB_NULL) {
fprintf(stderr, "out of memory\n");
return 1;
}
eb_cycle_read(cycle, address, 0);
eb_cycle_close(cycle);
eb_device_flush(device); eb_device_flush(device);
while (!stop) { while (!stop) {
......
...@@ -33,6 +33,7 @@ int main(int argc, const char** argv) { ...@@ -33,6 +33,7 @@ int main(int argc, const char** argv) {
eb_socket_t socket; eb_socket_t socket;
eb_status_t status; eb_status_t status;
eb_device_t device; eb_device_t device;
eb_cycle_t cycle;
eb_address_t address; eb_address_t address;
eb_data_t data; eb_data_t data;
const char* netaddress; const char* netaddress;
...@@ -59,10 +60,15 @@ int main(int argc, const char** argv) { ...@@ -59,10 +60,15 @@ int main(int argc, const char** argv) {
fprintf(stdout, "Writing to device %s at %08"EB_ADDR_FMT": %08"EB_DATA_FMT": ", netaddress, address, data); fprintf(stdout, "Writing to device %s at %08"EB_ADDR_FMT": %08"EB_DATA_FMT": ", netaddress, address, data);
fflush(stdout); fflush(stdout);
status = eb_device_write(device, address, data, 0, 0); if ((cycle = eb_cycle_open(device, 0, 0)) == EB_NULL) {
fprintf(stdout, "%s\n", eb_status(status)); fprintf(stdout, "out of memory\n");
return 1;
eb_device_flush(device); }
eb_cycle_read(cycle, address, 0);
eb_cycle_close_silently(cycle); /* silently means we don't care about the ERR flag */
eb_device_flush(device); /* flush queued data out the device */
fprintf(stdout, "ok\n");
if ((status = eb_device_close(device)) != EB_OK) { if ((status = eb_device_close(device)) != EB_OK) {
fprintf(stderr, "Failed to close Etherbone device: %s\n", eb_status(status)); fprintf(stderr, "Failed to close Etherbone device: %s\n", eb_status(status));
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment