config.py 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. from enum import Enum, IntEnum
  2. from nbus_hal.nbus_serial.serial_config import NBusBaudrate, NBusParity
  3. config = {
  4. "port_name": "COM14",
  5. "baud": NBusBaudrate.SPEED_921600,
  6. "parity": NBusParity.NONE,
  7. "timeout": 0.01,
  8. "flush_delay": 0.5,
  9. "request_attempts": 1,
  10. "enable_log": False,
  11. }
  12. BRIDGE_ACQUIRE_WAIT = 0.002
  13. TASK_NBUS_DELAY = 0.05 # Znížené na 50 ms, aby sa dáta nehromadili v bufferi
  14. PHASE_SID = "5.129.2"
  15. MODULE_ADDR = 5
  16. PHASES = [
  17. "Neaktívne",
  18. "Meranie referenčnej polohy",
  19. "Čakanie na meranie pohybu",
  20. "Meranie východiskovej polohy",
  21. "Meranie pohybu",
  22. "Meranie cieľovej polohy",
  23. "Meranie dokončené"]
  24. class MeasuringPhase(IntEnum):
  25. IDLE = 0,
  26. POS_REF = 1,
  27. INTERLUDE = 2,
  28. POS_START = 3,
  29. MOVEMENT = 4,
  30. POS_END = 5,
  31. ACK = 6
  32. PRECISION = 5
  33. MA = 5
  34. SA_TOF = 1
  35. SA_ACC = 2
  36. SA_GYR = 3
  37. SA_TMP = 4
  38. SA_HUM = 5
  39. SA_MES = 129
  40. VA_AX = 1
  41. VA_AY = 2
  42. VA_AZ = 3
  43. VA_TMP = 1
  44. VA_HUM = 1
  45. VA_SER = 1
  46. VA_PHA = 2
  47. CN_TIME = "time"
  48. CN_TOF_X = "tof_x"
  49. CN_TOF_Y = "tof_y"
  50. CN_TOF_Z = "tof_z"
  51. CN_ACC_X = "acc_x"
  52. CN_ACC_Y = "acc_y"
  53. CN_ACC_Z = "acc_z"
  54. CN_GYR_X = "gyr_x"
  55. CN_GYR_Y = "gyr_y"
  56. CN_GYR_Z = "gyr_z"
  57. CN_TMP = "temp"
  58. CN_HUM = "hum"
  59. CN_SER = "ser"
  60. CN_PHA = "pha"
  61. TOF_NAN = 65535
  62. IMU_NAN = 3276.7
  63. TEMP_NAN = 327.67
  64. HUM_NAN = 655.35
  65. NBUS_DATA_COLUMN_MAPPING = {
  66. "TS" : CN_TIME,
  67. f"{MA}.{SA_TOF}.{VA_AX}" : CN_TOF_X,
  68. f"{MA}.{SA_TOF}.{VA_AY}" : CN_TOF_Y,
  69. f"{MA}.{SA_TOF}.{VA_AZ}" : CN_TOF_Z,
  70. f"{MA}.{SA_ACC}.{VA_AX}" : CN_ACC_X,
  71. f"{MA}.{SA_ACC}.{VA_AY}" : CN_ACC_Y,
  72. f"{MA}.{SA_ACC}.{VA_AZ}" : CN_ACC_Z,
  73. f"{MA}.{SA_GYR}.{VA_AX}" : CN_GYR_X,
  74. f"{MA}.{SA_GYR}.{VA_AY}" : CN_GYR_Y,
  75. f"{MA}.{SA_GYR}.{VA_AZ}" : CN_GYR_Z,
  76. f"{MA}.{SA_TMP}.{VA_TMP}" : CN_TMP,
  77. f"{MA}.{SA_HUM}.{VA_HUM}" : CN_HUM,
  78. f"{MA}.{SA_MES}.{VA_SER}" : CN_SER,
  79. f"{MA}.{SA_MES}.{VA_PHA}" : CN_PHA
  80. }
  81. NBUS_DATA_NAN_MAPPING = {
  82. CN_TOF_X : TOF_NAN,
  83. CN_TOF_Y : TOF_NAN,
  84. CN_TOF_Z : TOF_NAN,
  85. CN_ACC_X : IMU_NAN,
  86. CN_ACC_Y : IMU_NAN,
  87. CN_ACC_Z : IMU_NAN,
  88. CN_GYR_X : IMU_NAN,
  89. CN_GYR_Y : IMU_NAN,
  90. CN_GYR_Z : IMU_NAN,
  91. CN_TMP : TEMP_NAN,
  92. CN_HUM : HUM_NAN
  93. }
  94. NBUS_DATA_EMPTY_MAPPING = [
  95. CN_TOF_X,
  96. CN_TOF_Y,
  97. CN_TOF_Z,
  98. CN_ACC_X,
  99. CN_ACC_Y,
  100. CN_ACC_Z,
  101. CN_GYR_X,
  102. CN_GYR_Y,
  103. CN_GYR_Z,
  104. CN_TMP,
  105. CN_HUM
  106. ]
  107. NBUS_DATA_PHASES_TO_REMOVE = [
  108. MeasuringPhase.IDLE.value,
  109. MeasuringPhase.INTERLUDE.value,
  110. MeasuringPhase.ACK.value
  111. ]
  112. NBUS_DATA_PHASE_MAPPING = {
  113. MeasuringPhase.POS_REF.value : 'ref',
  114. MeasuringPhase.POS_START.value : 'beg',
  115. MeasuringPhase.MOVEMENT.value : 'mov',
  116. MeasuringPhase.POS_END.value : 'end'
  117. }