1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #ifndef BUS_H
- #define BUS_H
- #include <stdio.h>
- #include <string.h>
- #include <stdint.h>
- #define BUS_TIMEOUT 1000000
- void write_pin(int pin, int value);
- int read_pin(int pin);
- void init_read_pin(int d, int clk, int ack);
- void init_write_pin(int d, int clk, int ack);
- void free_fifo(int d, int clk, int ack);
- typedef struct
- {
- int t;
- int q;
- char buffer[1024];
- } file_t;
- typedef struct
- {
- int data;
- int clk;
- int ack;
- int ismaster;
- file_t buffer;
- } bus_t;
- void bus_init_recv (bus_t* bus, int d, int clk, int ack);
- void bus_init_send (bus_t* bus, int d, int clk, int ack);
- void* bus_send_thread (void* _bus);
- void* bus_recv_thread (void* _bus);
- void bus_write (bus_t* bus, const void* x, int length);
- void bus_write_sync (bus_t* bus, const void* x, int length);
- void bus_read (bus_t* bus, void* x, int length);
- #endif
|