onechip_load_inf.c 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  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.beep_pin = MINI7_V2_BEEPER_Pin;
  130. sysinf.beep_port = MINI7_V2_BEEPER_GPIO_Port;
  131. sysinf.ms_conter = 0;
  132. sysinf.heaterMaster.pwdId = MINI7_SUB_FUN_HEATER1;
  133. sysinf.lysis.pwdId = MINI7_SUB_FUN_HEATER2;
  134. sysinf.pc_link_timeout = OFFLINE_TIME;
  135. }
  136. /**********************************************************************************
  137. Func Name: con_sysinf_debugUart
  138. Descriptions: 设置调试串口
  139. Input para: 无
  140. In&Out Para: 无
  141. Output para: 无
  142. Return value: 无
  143. ***********************************************************************************/
  144. void con_sysinf_debugUart(void * uart)
  145. {
  146. sysinf.debugUart = uart;
  147. }
  148. /**********************************************************************************
  149. Func Name: dev_load_function
  150. Descriptions: 根据单板类型,添加功能
  151. Input para: 无
  152. In&Out Para: 无
  153. Output para: 无
  154. Return value: 无
  155. ***********************************************************************************/
  156. void dev_load_function (void)
  157. {
  158. //Motor_Load_cfg(&sysinf.devdesc);
  159. // loadIOStateCfg(&sysinf.devdesc);
  160. // loadProportiona_valveCfg(&sysinf.devdesc);
  161. //onechip_pose_load_config(&sysinf.devdesc);
  162. // load_com_pwm_Cfg(&sysinf.devdesc);
  163. // onechip_adp_load_config(&sysinf.devdesc);
  164. }
  165. /**********************************************************************************
  166. Func Name: dev_load_function_after_os
  167. Descriptions: 系统启动后,再加载组件
  168. Input para: 无
  169. In&Out Para: 无
  170. Output para: 无
  171. Return value: 无
  172. ***********************************************************************************/
  173. void dev_load_function_after_os (void)
  174. {
  175. #ifdef USE_CAN_DEVICE
  176. onechip_can_dev_config();
  177. osDelay(10U);
  178. if(((sysinf.devdesc.deveice_type == deviceType_deviceETA_004)||
  179. (sysinf.devdesc.deveice_type == deviceType_deviceETA_S4))
  180. &&(sysinf.devdesc.structure_type == structureType_structure1_6||
  181. sysinf.devdesc.structure_type == structureType_structure1_5)){
  182. loadKEYTO_5A33Cfg(&sysinf.devdesc);
  183. loadKEYTO_G31xCfg(&sysinf.devdesc);
  184. }
  185. if(((sysinf.devdesc.deveice_type == deviceType_deviceETA_004)||
  186. (sysinf.devdesc.deveice_type == deviceType_deviceETA_S4))
  187. &&sysinf.devdesc.structure_type == structureType_structure1_6){
  188. loadKEYTO_G_LHHCCfg(&sysinf.devdesc);
  189. }
  190. #endif //define (USE_CAN_DEVICE)
  191. // loadPidCfg(&sysinf.devdesc);
  192. }