SXXXXXXX_PyBusMonitor1553/cpp/GrifoScope/GrifoXLruMonitor/xlru/xlru_comm.h
2025-12-17 07:59:30 +01:00

50 lines
1.2 KiB
C

/*
* xlru_comm.h
*
*/
#ifndef XLRU_COMM_H_
#define XLRU_COMM_H_
#ifdef __cplusplus
extern "C" {
#endif
enum xlru_comm_sts_t
{
xlru_comm_ok,
xlru_comm_err, /*Generic error*/
xlru_coom_err_device,
xlru_comm_err_parity,
xlru_comm_err_overrun, /*overrun on the communication media*/
xlru_comm_err_buffer_overrun /*overrun on the internal buffer*/
};
typedef unsigned int xlru_comm_device_id_t;
extern enum xlru_comm_sts_t xlru_comm_initialize(void);
extern void xlru_comm_udp_monitor_enable(bool ena);
extern enum xlru_comm_sts_t xlru_comm_extract_pending_data(xlru_comm_device_id_t id, char* destination_buffer, unsigned int* len, unsigned int max_len);
extern enum xlru_comm_sts_t xlru_comm_raw_transmit(xlru_comm_device_id_t id, const char* data, unsigned int len);
extern const char* xlru_comm_error_string(xlru_comm_sts_t error_code);
//Debug support
extern enum xlru_comm_sts_t xlru_comm_dbg_get_data(char* destination_buffer, unsigned int* len, unsigned int max_len);
extern void xlru_comm_dbg_add_data(unsigned int source, const char* data, unsigned int len);
extern void xlru_comm_dbg_flush();
#ifdef __cplusplus
}
#endif
#endif /* XLRU_COMM_H_ */