📄 ld3raw_core.h
字号:
/* ************************************************************************ */
/* */
/* Volcano Communications Technologies AB */
/* All rights reserved */
/* */
/* ************************************************************************ */
/* File: ld3raw_core.h
* Description: ld3raw_core contains common definitions for the diagnostic
* support function.
*/
/* Change history:
* Date Signature Description
* ------ --------- --------------------------------------------------
*/
#ifndef __LD3RAW_CORE_H__
#define __LD3RAW_CORE_H__
#include "l_core.h"
typedef enum {
LD3RAW_TX_NO_ERROR,
LD3RAW_TX_TRANSFER_ERROR,
LD3RAW_TX_QUEUE_FULL,
LD3RAW_TX_QUEUE_EMPTY
} ld3raw_tx_status;
typedef enum {
LD3RAW_RX_NO_ERROR,
LD3RAW_RX_DATA_EMPTY,
LD3RAW_RX_DATA_AVAILABLE,
LD3RAW_RX_TRANSFER_ERROR,
LD3RAW_RX_DATA_FULL
} ld3raw_rx_status;
typedef enum {
LD3RAW_FIFO_EMPTY,
LD3RAW_FIFO_CONTAINS_DATA,
LD3RAW_FIFO_FULL
} ld3raw_fifo_status;
typedef struct {
l_u8* rx_fifo_api; /* api talks with the application , dev with the device driver */
l_u8* rx_fifo_dev;
l_u8* tx_fifo_api;
l_u8* tx_fifo_dev;
ld3raw_rx_status rx_status;
ld3raw_fifo_status rx_fifo_status;
ld3raw_tx_status tx_status;
ld3raw_fifo_status tx_fifo_status;
} ld3raw_ram, *ld3raw_ram_handle;
/* Three ways to do: either implement as below or let the tx_fifo be in RAM and always point to the current entry
both need to be tested to see which is the most efficient
also implement as a map [8][] */
typedef const struct {
ld3raw_ram_handle ram;
l_u8* rx_fifo_base;
l_u8* rx_fifo_max;
l_u8* tx_fifo_base;
l_u8* tx_fifo_max;
l_flag queued;
} ld3raw_ifc, *ld3raw_ifc_handle;
void ld3raw_init (ld3raw_ifc_handle ld3raw_iii);
void ld3raw_response (ld3raw_ifc_handle ld3raw_iii, l_u8* xrf_buf, l_u8 type, l_bool success);
void ld3raw_header (ld3raw_ifc_handle ld3raw_iii, l_u8* xrf_buf, l_u8 type);
#endif /* __LD3RAW_CORE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -