onechip_load_inf.c 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. /******************************************************************
  2. * Copyright (C) 2023 - 2023 OneChip, Inc. All rights reserved.
  3. * File name: onechip_load_inf.c
  4. * Author: fanyidong Date:2023.11.21
  5. * Description: 加载设备基本信息
  6. * Others:
  7. * History:
  8. 1. Date:
  9. Author:
  10. Modification:
  11. *****************************************************************/
  12. #include <stdio.h>
  13. #include <string.h>
  14. #include "onechip_include_header.h"
  15. #include "one_chip_git_inf.h"
  16. /*命令种类*/
  17. #define PROTOCOVER PROTOCOVERDEF(001)
  18. #define DEVICENAME DEVICENAMEDEF(demo)
  19. #define VERINFO_ADDR_BASE (0x801FF00) //存放FLASH的地址
  20. #define STR1(R) #R
  21. #define STR2(R) STR1(R)
  22. const char Software_Ver[] __attribute__((at(VERINFO_ADDR_BASE + 0x00))) = "Soft: " STR2(SOFT_VERSION_1) "." STR2(SOFT_VERSION_2) "." STR2(SOFT_VERSION_3) "." STR2(SOFT_VERSION_4);
  23. const char Compiler_Date[] __attribute__((at(VERINFO_ADDR_BASE + 0x10))) = "Time: " __DATE__ "-" __TIME__;
  24. #ifdef ONE_CHIP_GIT_SHA_SHORT
  25. const char git_sha[] __attribute__((at(VERINFO_ADDR_BASE + 0x30))) = "SHA: " ONE_CHIP_GIT_SHA_SHORT;
  26. #endif
  27. /**********************************************************************************
  28. Func Name: dev_load_allinf
  29. Descriptions: 加载单板标记
  30. Input para: 无
  31. In&Out Para: 无
  32. Output para: 无
  33. Return value: 无
  34. ***********************************************************************************/
  35. void dev_load_description (void)
  36. {
  37. // unsigned int readAddr;
  38. // readAddr = EEPROM_ADDR_VERSION_ADDR;
  39. // // AT24CXX_Read(readAddr, (uint8_t *)&sysinf.devdesc.desversion,sizeof(DeviceBasicInfdef));
  40. // // Van_Device_Printf(VAN_LOG_CRITICAL, "2 deveice_typer:%x structure_type:%d hardware_type:%d \n\r",sysinf.devdesc.deveice_type,sysinf.devdesc.structure_type,sysinf.devdesc.hardware_type);
  41. // if(sysinf.devdesc.deveice_type == deviceType_deviceNocfg || sysinf.devdesc.deveice_type > deviceType_deviceBoard_V1 ){
  42. // sysinf.devdesc.deveice_type = deviceType_deviceNocfg;
  43. // #if defined(DEVICETYPE_IS_ETA)
  44. // sysinf.devdesc.deveice_type = deviceType_deviceETA_004;
  45. // sysinf.devdesc.structure_type = structureType_structure1_6;
  46. // sysinf.devdesc.hardware_type = hardwareType_hardware1_0;
  47. // sysinf.devdesc.deveice_ver = 0;
  48. // sysinf.devdesc.structure_ver = 0;
  49. // sysinf.devdesc.hardware_ver = 0;
  50. // memset(sysinf.devdesc.serialNumber, 0, 16);
  51. // #elif defined(DEVICETYPE_IS_ATCG)
  52. sysinf.devdesc.deveice_type = ONECHIP_MINI7_V2;
  53. sysinf.devdesc.structure_type = ONECHIP_SATRUCTURE_VERSION_V0_1;
  54. sysinf.devdesc.hardware_type = ONECHIP_HARDWARE_VERSION_V0_1;
  55. sysinf.devdesc.deveice_ver = 0;
  56. sysinf.devdesc.structure_ver = 0;
  57. sysinf.devdesc.hardware_ver = 0;
  58. // strcpy(sysinf.wifiname, onechip_name);
  59. // strcpy(sysinf.password, onechip_pswd);
  60. // strcpy(sysinf.TCP_IP_Addr, "192.168.43.229");
  61. // memset(sysinf.devdesc.serialNumber, 0, 16);
  62. // #endif
  63. // }
  64. }
  65. /**********************************************************************************
  66. Func Name: dev_save_description
  67. Descriptions: 保持
  68. Input para: 无
  69. In&Out Para: 无
  70. Output para: 无
  71. Return value: 无
  72. ***********************************************************************************/
  73. void dev_save_description (void)
  74. {
  75. // unsigned int writeAddr;
  76. // writeAddr = EEPROM_ADDR_VERSION_ADDR;
  77. // unsigned int softver = (SOFT_VERSION_1 << 24) | (SOFT_VERSION_2 << 16) | (SOFT_VERSION_3 << 8) | (SOFT_VERSION_4);
  78. // Van_Device_Printf(VAN_LOG_CRITICAL, "soft ver:%x\n\r",softver);
  79. // Van_Device_Printf(VAN_LOG_CRITICAL, "1 deveice_typer:%x structure_type:%d hardware_type:%d \n\r",sysinf.devdesc.deveice_type,sysinf.devdesc.structure_type,sysinf.devdesc.hardware_type);
  80. // // AT24CXX_Write(writeAddr, (unsigned char *)&sysinf.devdesc.desversion,sizeof(DeviceBasicInfdef));
  81. // osDelay(10U);
  82. // dev_load_description();
  83. // Van_Device_Printf(VAN_LOG_CRITICAL, "3 deveice_typer:%x structure_type:%d hardware_type:%d \n\r",sysinf.devdesc.deveice_type,sysinf.devdesc.structure_type,sysinf.devdesc.hardware_type);
  84. }
  85. /**********************************************************************************
  86. Func Name: dev_save_description
  87. Descriptions: 保持
  88. Input para: 无
  89. In&Out Para: 无
  90. Output para: 无
  91. Return value: 无
  92. ***********************************************************************************/
  93. void cfg_dev_description (unsigned int dev,unsigned int strtype,unsigned int hdtype,unsigned int devver,unsigned int strver,unsigned int hdver)
  94. {
  95. // unsigned int writeAddr;
  96. // writeAddr = EEPROM_ADDR_VERSION_ADDR;
  97. // unsigned int softver = (SOFT_VERSION_1 << 24) | (SOFT_VERSION_2 << 16) | (SOFT_VERSION_3 << 8) | (SOFT_VERSION_4);
  98. // Van_Device_Printf(VAN_LOG_CRITICAL, "soft ver:%x\n\r",softver);
  99. // sysinf.devdesc.desversion = 0xaa079055;
  100. // sysinf.devdesc.deveice_type = dev;
  101. // sysinf.devdesc.structure_type = strtype;
  102. // sysinf.devdesc.hardware_type = hdtype;
  103. // sysinf.devdesc.deveice_ver = devver;
  104. // sysinf.devdesc.structure_ver = strver;
  105. // sysinf.devdesc.hardware_ver = hdver;
  106. // Van_Device_Printf(VAN_LOG_CRITICAL, "1 deveice_typer:%x structure_type:%d hardware_type:%d \n\r",sysinf.devdesc.deveice_type,sysinf.devdesc.structure_type,sysinf.devdesc.hardware_type);
  107. // AT24CXX_Write(writeAddr, (unsigned char *)&sysinf.devdesc.desversion,sizeof(DeviceBasicInfdef));
  108. // osDelay(10U);
  109. // dev_load_description();
  110. // Van_Device_Printf(VAN_LOG_CRITICAL, "3 deveice_typer:%x structure_type:%d hardware_type:%d \n\r",sysinf.devdesc.deveice_type,sysinf.devdesc.structure_type,sysinf.devdesc.hardware_type);
  111. }
  112. /**********************************************************************************
  113. Func Name: dev_load_allinf
  114. Descriptions: 加载单板标记
  115. Input para: 无
  116. In&Out Para: 无
  117. Output para: 无
  118. Return value: 无
  119. ***********************************************************************************/
  120. void dev_load_allinf (void)
  121. {
  122. dev_load_description();
  123. sysinf.com_led_pin = MINI7_V2_SYS_R_Pin;
  124. sysinf.com_led_port = MINI7_V2_SYS_R_GPIO_Port;
  125. sysinf.run_led_pin = MINI7_V2_SYS_B_Pin;
  126. sysinf.run_led_port = MINI7_V2_SYS_B_GPIO_Port;
  127. sysinf.rgb_band_pin = MINI7_V2_indicator_light_Pin;
  128. sysinf.rgb_band_port = MINI7_V2_indicator_light_GPIO_Port;
  129. sysinf.ms_conter = 0;
  130. }
  131. /**********************************************************************************
  132. Func Name: con_sysinf_debugUart
  133. Descriptions: 设置调试串口
  134. Input para: 无
  135. In&Out Para: 无
  136. Output para: 无
  137. Return value: 无
  138. ***********************************************************************************/
  139. void con_sysinf_debugUart(void * uart)
  140. {
  141. sysinf.debugUart = uart;
  142. }
  143. /**********************************************************************************
  144. Func Name: dev_load_function
  145. Descriptions: 根据单板类型,添加功能
  146. Input para: 无
  147. In&Out Para: 无
  148. Output para: 无
  149. Return value: 无
  150. ***********************************************************************************/
  151. void dev_load_function (void)
  152. {
  153. //Motor_Load_cfg(&sysinf.devdesc);
  154. // loadIOStateCfg(&sysinf.devdesc);
  155. // loadProportiona_valveCfg(&sysinf.devdesc);
  156. //onechip_pose_load_config(&sysinf.devdesc);
  157. // load_com_pwm_Cfg(&sysinf.devdesc);
  158. // onechip_adp_load_config(&sysinf.devdesc);
  159. }
  160. /**********************************************************************************
  161. Func Name: dev_load_function_after_os
  162. Descriptions: 系统启动后,再加载组件
  163. Input para: 无
  164. In&Out Para: 无
  165. Output para: 无
  166. Return value: 无
  167. ***********************************************************************************/
  168. void dev_load_function_after_os (void)
  169. {
  170. #ifdef USE_CAN_DEVICE
  171. onechip_can_dev_config();
  172. osDelay(10U);
  173. if(((sysinf.devdesc.deveice_type == deviceType_deviceETA_004)||
  174. (sysinf.devdesc.deveice_type == deviceType_deviceETA_S4))
  175. &&(sysinf.devdesc.structure_type == structureType_structure1_6||
  176. sysinf.devdesc.structure_type == structureType_structure1_5)){
  177. loadKEYTO_5A33Cfg(&sysinf.devdesc);
  178. loadKEYTO_G31xCfg(&sysinf.devdesc);
  179. }
  180. if(((sysinf.devdesc.deveice_type == deviceType_deviceETA_004)||
  181. (sysinf.devdesc.deveice_type == deviceType_deviceETA_S4))
  182. &&sysinf.devdesc.structure_type == structureType_structure1_6){
  183. loadKEYTO_G_LHHCCfg(&sysinf.devdesc);
  184. }
  185. #endif //define (USE_CAN_DEVICE)
  186. // loadPidCfg(&sysinf.devdesc);
  187. }