⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ld3raw_core.h

📁 MC68HC908GR60A LIN-BUS源码(编译环境:CodeWarriorV3.1)
💻 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 + -