device.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef _GB_DEVICE_INFO_H_
  2. #define _GB_DEVICE_INFO_H_
  3. typedef enum DEV_TYPE {
  4. DEV_TYPE_COLLECT_STATION = 1,
  5. DEV_TYPE_GATEWAY,
  6. DEV_TYPE_OILTANK_STATION,
  7. DEV_TYPE_OILTANK_CAR,
  8. DEV_TYPE_OILTANK_DEPOT,
  9. DEV_TYPE_MAX
  10. } DEV_TYPE;
  11. typedef enum ONLINE_TYPE {
  12. ONLINE_TYPE_LORA = 1,
  13. ONLINE_TYPE_NB,
  14. ONLINE_TYPE_LTE,
  15. ONLINE_TYPE_MAX
  16. } ONLINE_TYPE;
  17. #define SOFT_VERSION 0x01010001
  18. #define HARD_VERSION 0x01010001
  19. #define BOOT_VERSION 0x01010001
  20. #define DEVICE_TYPE DEV_TYPE_COLLECT_STATION
  21. #define DEVICE_MSG_PERIOD 10
  22. #define DEVICE_ID_LENGTH 4
  23. typedef struct _gb_device_info {
  24. uint8_t vendor[16];
  25. uint32_t hw_ver;
  26. uint32_t manufacture_date;
  27. uint32_t bootrom_ver;
  28. uint32_t bootrom_date;
  29. uint32_t sw_ver;
  30. uint32_t build_date;
  31. uint32_t device_type;
  32. uint32_t device_id;
  33. uint8_t imei[16];
  34. uint8_t iccid[20];
  35. uint32_t collect_time;
  36. } gb_device_info_t;
  37. #define STORAGE_POS_DEVICE_TYPE 0
  38. #define STORAGE_POS_DEVICE_ID 4
  39. int device_type_and_id_cmp(u16 device_type, u32 device_id);
  40. void device_type_and_id_get(u32 *device_type, u32 *device_id);
  41. uint32_t device_type_get(void);
  42. int device_init(u32 dev_type, u32 dev_id);
  43. #endif