host_prefix.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include <assert.h>
  2. #include <stdint.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <stdarg.h>
  7. #include "../../DriverInterface/cJSON.h"
  8. static unsigned saves;
  9. static uint8_t cfg_save_cfg_param(void) { ++saves; return 1; }
  10. #define WIFI_RX_BUF_SIZE 256
  11. #define WIFI_TX_BUF_SIZE 512
  12. #define CMD_BUF_SIZE 128
  13. #define HAL_OK 0
  14. #define PC_CMD_SETIP 11
  15. #define PC_CMD_SETWIFI 10
  16. #define PC_CONNECT_TYPE_WIFI 1
  17. #define UINON_CMD_THEROM_GET 0x58
  18. #define VAN_COM_HEADER_FALG 0x55aa
  19. #define VAN_COM_TAIL_FALG 0x5aa5
  20. #define SIZEOF_MSG_ST 8
  21. #define Van_Device_Printf(...) ((void)0)
  22. typedef int UART_HandleTypeDef;
  23. typedef struct {
  24. unsigned short head;
  25. unsigned char seq,cmd;
  26. unsigned short len;
  27. char *data;
  28. unsigned char checksum,tail;
  29. } CmdMessage;
  30. static struct {
  31. void *ESPUart;
  32. int connectTcpFlag, s10_flag, pc_channel_recv, pc_link_timeout;
  33. char wifiname[64], password[64], TCP_IP_Addr[64], TCP_IP_PORT[8];
  34. char SN[8];
  35. } sysinf;
  36. uint8_t g_wifi_rx_buf[256];
  37. volatile uint32_t g_wifi_rx_last, g_wifi_rx_head;
  38. volatile uint8_t g_wifi_rx_fault;
  39. static uint32_t ticks;
  40. static int writes, commands, uart_fail, inject_prompt;
  41. static char last_write[1024];
  42. static unsigned last_len;
  43. static uint32_t HAL_GetTick(void) { return ticks; }
  44. static int HAL_UART_Transmit(UART_HandleTypeDef *u, const uint8_t *p, unsigned n, unsigned timeout) {
  45. (void)u;(void)timeout;
  46. assert(n < sizeof(last_write)); memcpy(last_write,p,n);last_write[n]=0;last_len=n;writes++;
  47. return uart_fail;
  48. }
  49. static void put(const void *p, unsigned n) {
  50. const uint8_t *b=p;
  51. while(n--) {
  52. unsigned next=(g_wifi_rx_last+1)%256;
  53. assert(next!=g_wifi_rx_head);
  54. g_wifi_rx_buf[g_wifi_rx_last]=*b++;g_wifi_rx_last=next;
  55. }
  56. }
  57. static void query_pc_cmd(CmdMessage *m) {
  58. assert(m->len<=128);
  59. m->data[m->len]=0; commands++;
  60. if(inject_prompt) {inject_prompt=0;put(">",1);}
  61. }
  62. static void deal_mUnion_cmd(CmdMessage *m) {query_pc_cmd(m);}
  63. static int data_send_to_pc(int cmd,char *p,unsigned n) {(void)cmd;(void)p;(void)n;return 0;}
  64. static unsigned short checkSum(const unsigned char *p,unsigned n) {
  65. unsigned sum=0;while(n--)sum+=*p++;return (unsigned short)sum;
  66. }