onechip_load_inf.c 8.2 KB

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