process_result.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. #ifndef _PRECESS_RESULT_H_
  2. #define _PRECESS_RESULT_H_
  3. #include "main.h"
  4. #include "motion_config.h"
  5. #include "footPDR.h"
  6. #include "motion_interface.h"
  7. #include "detect_zero_vel.h"
  8. #define GYR_LSB 16.4f
  9. #define ACC_LSB 2048.0f
  10. #if SH_NUMBER == 1
  11. float accBias[3] = {-0.0116f, 0.0122f, -0.0172f,};
  12. float accScale[3] = {1.0015f, 1.0010f, 0.9884f,};
  13. //float magBias[3] = { 377.7242f, 111.6333f, 258.3704f};
  14. float magBias[3] = { 521.4416f, 311.3539f, 203.1051f};
  15. float magScale[3] = {0.0040f, 0.0038f, 0.0037,};
  16. #elif SH_NUMBER == 2
  17. float accBias[3] = {-0.0143f, 0.0020f, -0.0295f};
  18. float accScale[3] = {1.0026f, 1.0017f, 0.9876f};
  19. float magBias[3] = {208.19076f, 676.30954f, -1314.16369f};
  20. float magScale[3] = {0.0040f, 0.0038f, 0.0039f};
  21. #elif SH_NUMBER == 3
  22. float accBias[3] = {-0.0073f, 0.0112f, -0.0120f,};
  23. float accScale[3] = {1.0011f, 0.9997f, 0.9932f};
  24. //float magBias[3] = { -91.4046f, -173.7336f, -16.4311f};
  25. //float magBias[3] = { -33.7960f, -182.2888f, -72.0429f};
  26. //float magBias[3] = { 98.2326f, -244.3920f, -112.4380f};
  27. float magBias[3] = { -2394.65484f, 6539.55844f, -1429.03f};
  28. float magScale[3] = { 0.004f , 0.0038f , 0.0037f,};
  29. #elif SH_NUMBER == 4
  30. float accBias[3] = { -0.0000f, 0.0096f, -0.0308f};
  31. float accScale[3] = {1.0002f, 1.0009f, 0.9910f};
  32. //float magBias[3] = {29.8783f, 142.8769f, -149.3421f};
  33. //float magBias[3] = { 18.2790f, 93.3995f, -146.4823};
  34. //float magBias[3] = { -15.8519f, 70.4827f, -128.3174f};
  35. float magBias[3] = {-72.9602f, -149.2124f, -154.5789f};
  36. float magScale[3] = { 0.0040f, 0.0040f, 0.0040f};
  37. #elif SH_NUMBER == 5
  38. float accBias[3] = { 0.0208f, 0.0066f, -0.0281f,};
  39. float accScale[3] = {1.0011f, 1.0004f, 0.9955f,};
  40. float magBias[3] = { 63.2058f , 113.6578f , -539.3837f};
  41. float magScale[3] = {0.0038f , 0.0038f , 0.0037f,};
  42. #elif SH_NUMBER == 6
  43. float accBias[3] = { -0.0173f, 0.0078f, -0.1042f};
  44. float accScale[3] = {1.0015f, 1.0002f, 0.9861f};
  45. float magBias[3] = {97.0186f, 685.1305f, -513.0043f};
  46. float magScale[3] = {0.0038f, 0.0039f, 0.0037f};
  47. #elif SH_NUMBER == 7
  48. float accBias[3] = { 0.0208f, 0.0066f, -0.0281f,};
  49. float accScale[3] = {1.0011f, 1.0004f, 0.9955f,};
  50. float magBias[3] = { 63.2058f , 113.6578f , -539.3837f};
  51. float magScale[3] = {0.0038f , 0.0038f , 0.0037f,};
  52. #elif SH_NUMBER == 8
  53. float accBias[3] = { -0.0055f, 0.0097f, -0.0550f};
  54. float accScale[3] = {1.0004f, 0.9991f, 1.0000f};
  55. float magBias[3] = {-80.7255f, 715.1156f, -870.1321f};
  56. float magScale[3] = {0.0037f, 0.0038f, 0.0036f};
  57. #elif SH_NUMBER == 9
  58. float accBias[3] = {-0.0178f, 0.0056f, -0.1022f};
  59. float accScale[3] = {1.0005f, 1.0017f, 0.9880f};
  60. float magBias[3] = {-86.6536f, 341.2955f, -674.9064f};
  61. float magScale[3] = {0.0039f, 0.0039f , 0.0040f,};
  62. #elif SH_NUMBER == 10
  63. float accBias[3] = { -0.0069f , 0.0141f , -0.0498f};
  64. float accScale[3] = {1.0007f , 1.0031f , 0.9970f};
  65. float magBias[3] = { -77.8889f, 482.7083f, -616.4837f};
  66. float magScale[3] = { 0.0040f, 0.0040f, 0.0039f,};
  67. #elif SH_NUMBER == 11
  68. float accBias[3] = {0.0149f, 0.0208f, -0.0272f};
  69. float accScale[3] = {1.0010f , 1.0008f , 0.9969f};
  70. //float magBias[3] = { -66.0267f, 473.8725f, -529.6988f};
  71. //float magScale[3] = {0.0040f, 0.0040f, 0.0040f};
  72. float magBias[3] = { -79.0751f, 471.0133f, -600.3712f};
  73. float magScale[3] = {0.0040f, 0.0041f , 0.0039f};
  74. #elif SH_NUMBER == 12
  75. float accBias[3] = {0.0025f, 0.0086f, -0.0016f,};
  76. float accScale[3] = {1.0007f, 1.0009f, 0.9948f,};
  77. //float magBias[3] = {54.5925f, 293.4265f, -684.2667f,};
  78. float magBias[3] = {36.3369f, 314.0196f, -709.6340f,};
  79. float magScale[3] = {0.0040f, 0.0040f, 0.0041f,};
  80. #elif SH_NUMBER == 13
  81. float accBias[3] = {0.0063f, 0.0053f, 0.0138f,};
  82. float accScale[3] = {0.9993f, 1.0022f, 0.9883f,};
  83. float magBias[3] = {292.1026f, 633.6321f, -664.0924f,};
  84. float magScale[3] = {0.0039f, 0.0039f, 0.0037f};
  85. #elif SH_NUMBER == 14
  86. float accBias[3] = {0.0244f, 0.0082f, 0.0898f,};
  87. float accScale[3] = {0.9992f, 1.0024f, 0.9848f,};
  88. float magBias[3] = {82.3285f, 418.0601f, -636.9080f};
  89. float magScale[3] = {0.0041f , 0.0042f, 0.0040f};
  90. #elif SH_NUMBER == 15
  91. float accBias[3] = {-0.0199f , 0.0149f , -0.0832f,};
  92. float accScale[3] = {1.0006f , 1.0012f , 0.9883f,};
  93. float magBias[3] = { -83.9929f, 378.1395f, -683.2781f};
  94. float magScale[3] = {0.0039f, 0.0040f, 0.0041f};
  95. #elif SH_NUMBER == 16
  96. float accBias[3] = {-0.0062f, 0.0176f, -0.0461f};
  97. float accScale[3] = {1.0006f, 1.0030f, 0.9965f};
  98. float magBias[3] = {-66.5185f, 497.9997f, -618.6814f};
  99. float magScale[3] = {0.0040f, 0.0041f, 0.0040f};
  100. #elif SH_NUMBER == 17
  101. float accBias[3] = {0.0201f, 0.0207f, 0.1268f};
  102. float accScale[3] = {0.9984f, 1.0027f, 0.9927f};
  103. float magBias[3] = {1238.45506f, 553.76179f, -466.85981f};
  104. float magScale[3] = {0.0041f, 0.0045f, 0.0043f};
  105. #elif SH_NUMBER == 18
  106. float accBias[3] = {-0.0338f, 0.0088f, -0.0118f};
  107. float accScale[3] = { 0.9995f, 1.0009f, 0.9926f};
  108. float magBias[3] = {1471.773663f, 551.73478f, -348.20543f};
  109. float magScale[3] = {0.0041f, 0.0046f, 0.0043f};
  110. #elif SH_NUMBER == 19
  111. float accBias[3] = {-0.017644f, 0.0044866f, -0.048548f};
  112. float accScale[3] = { 1.0011f, 1.0001f, 0.9911f};
  113. float magBias[3] = {294.8f, 1054.5f, -254.15f};
  114. float magScale[3] = {0.004482f, 0.0041116f, 0.004236f};
  115. #elif SH_NUMBER == 20
  116. float accBias[3] = {-0.02376f, 0.01068f, 0.069101f};
  117. float accScale[3] = { 0.99977f, 1.0007f, 0.99655f};
  118. float magBias[3] = { 285.12f, 1218.7f, -416.98f};
  119. float magScale[3] = {0.004411f, 0.0040035f, 0.0041864f};
  120. #elif SH_NUMBER == 21
  121. float accBias[3] = { 0.0176f, 0.0217f, 0.1217f};
  122. float accScale[3] = { 1.0032f, 1.0025f, 0.9973f};
  123. float magBias[3] = {357.05161f, 1111.658506f, -434.721060f};
  124. float magScale[3] = {0.0044f, 0.004f, 0.0042f};
  125. #elif SH_NUMBER == 22
  126. float accBias[3] = { -0.0371f, 0.0082f, -0.0177f};
  127. float accScale[3] = { 1.0032f, 1.0025f, 0.9973f};
  128. float magBias[3] = {443.781061f, 1401.779316f, -264.01198f};
  129. float magScale[3] = {0.0046f, 0.0041f, 0.0043f};
  130. #elif SH_NUMBER == 23
  131. float accBias[3] = { -0.0294f, 0.0088f, 0.0213f};
  132. float accScale[3] = { 1.0037f, 0.9976f, 0.9940f};
  133. float magBias[3] = {508.4243192f, 1189.075561f, -373.32054f};
  134. float magScale[3] = {0.0046f, 0.0042f, 0.0041};
  135. #elif SH_NUMBER == 24
  136. float accBias[3] = { -0.0119f, -0.0012f, 0.0454f};
  137. float accScale[3] = { 1.0002f, 0.9956f, 1.0038f};
  138. float magBias[3] = {726.44178f, 710.183522f, -510.867688f};
  139. float magScale[3] = {0.0045f, 0.0041f, 0.0042f};
  140. #elif SH_NUMBER == 25
  141. float accBias[3] = { -0.0065f, 0.0027f, 0.0271f};
  142. float accScale[3] = { 1.0005f, 0.9992f, 0.9952f};
  143. float magBias[3] = {213.41965895f, 1127.6071397f, -188.07170366f};
  144. float magScale[3] = {0.0044f, 0.004f, 0.0041f};
  145. #elif SH_NUMBER == 26
  146. float accBias[3] = { -0.0132f, 0.0037f, -0.0090f};
  147. float accScale[3] = { 1.0022f, 1.0008f, 0.9946f};
  148. float magBias[3] = {705.2909f, 888.2859f, -162.9662f};
  149. float magScale[3] = { 0.0045f, 0.0041f, 0.0043f};
  150. #elif SH_NUMBER == 27
  151. float accBias[3] = { -0.0176f, 0.0093f, 0.0459f};
  152. float accScale[3] = { 1.0022f, 1.0004f, 1.0050f};
  153. float magBias[3] = {-123.9147f, -5.1146f, -268.7183f};
  154. float magScale[3] = {0.0045f, 0.0040f, 0.0042f};
  155. #elif SH_NUMBER == 28
  156. float accBias[3] = { -0.0226f, 0.0083f, 0.0473f};
  157. float accScale[3] = { 1.0006f, 1.0019f, 0.9971f};
  158. float magBias[3] = { 270.3228f, 7.2314f, -93.2455f};
  159. float magScale[3] = { 0.0044f, 0.0039f, 0.0040f};
  160. #elif SH_NUMBER == 31
  161. float accBias[3] = { -0.007613f, 0.0049329f, -0.022617f};
  162. float accScale[3] = { 1.0374647f, 0.98994f, 0.995096f};
  163. float magBias[3] = { -591.6082f, 760.9560f, -194.1897};
  164. float magScale[3] = { 0.0047f, 0.0043f, 0.0043f};
  165. #elif SH_NUMBER == 32
  166. float accBias[3] = { -0.006894f, 0.013296f, -0.030154f};
  167. float accScale[3] = { 0.98567f, 1.0142618f, 0.99747f};
  168. float magBias[3] = { -526.1854f, 553.1508f, -142.6464f};
  169. float magScale[3] = { 0.0045f, 0.0042f, 0.0042f};
  170. #elif SH_NUMBER == 33
  171. float accBias[3] = { -0.0091f, 0.0124f, -0.0790f};
  172. float accScale[3] = { 1.0021f, 0.9966f, 0.9928f};
  173. float magBias[3] = {813.1402436536083f, 280.82271197483055f, -29.053538226463385f};
  174. float magScale[3] = {0.0042312985166727685f, 0.003920572901665482f, 0.0039770217454643255f};
  175. #elif SH_NUMBER == 34
  176. float accBias[3] = { -0.0141f, 0.0072f, 0.0308f};
  177. float accScale[3] = { 1.0091f , 0.9943f , 1.0023f};
  178. float magBias[3] = {-122.09773026023785f, -588.9466945960162f, -277.99760629602105f};
  179. float magScale[3] = {0.004216299267535813f, 0.003918950857638731f, 0.003974970092518379f};
  180. #
  181. #endif
  182. #ifdef WHITE_SH0
  183. #if IS_HOST
  184. float accBias[3] = { -0.0055f, 0.0114f, -0.0075f};
  185. float accScale[3] = {1.0011f, 0.9997f, 0.9930f};
  186. float magBias[3] = { 98.5793f, -199.4005f, -188.8333f};
  187. float magScale[3] = {0.0040f, 0.0040f, 0.0037f};
  188. #else
  189. /* slave*/
  190. float accBias[3] = { 0.0009f, 0.0062f, -0.0224f};
  191. float accScale[3] = {1.0000f, 1.0006f, 0.9913f};
  192. float magBias[3] = { -75.9748f, 80.7247, -134.6379f};
  193. float magScale[3] = { 0.0039f, 0.0037f, 0.0037f};
  194. #endif
  195. #elif defined BLUE_SHO
  196. #if IS_HOST
  197. float accBias[3] = { -0.0118f , 0.0130f , -0.0026f};
  198. float accScale[3] = {1.0015f , 1.0011f , 0.9896f};
  199. float magBias[3] = { 569.5943f , 271.8484f , 298.8276f};
  200. float magScale[3] = {0.0040f , 0.0037f , 0.0039f};
  201. #else
  202. /* slave*/
  203. float accBias[3] = {-0.0299f, 0.0114f , -0.0716f};
  204. float accScale[3] = {1.0017f, 1.0023f, 0.9884f};
  205. float magBias[3] = {324.02837f, 599.89072f, -1323.1148f};
  206. float magScale[3] = {0.0039f, 0.0037f, 0.0037f};
  207. #endif
  208. #endif
  209. #endif