app.py 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import sys
  2. from nbus_slave import *
  3. from nbus_system import *
  4. import matplotlib.pyplot as plt
  5. from imu_slave import *
  6. import numpy as np
  7. def show_data(data):
  8. fig, ax = plt.subplots()
  9. ax.plot(data_acc)
  10. ax.grid()
  11. plt.show()
  12. if __name__ == "__main__":
  13. nbus = NbusSystem(False)
  14. s1_adr = 5
  15. slave1 = nbus.create_slave(ImuSlave, s1_adr)
  16. if nbus.get_slave(s1_adr).cmd_echo([97, 98, 99, 100]) == 0:
  17. sys.exit()
  18. # app.cmd_reset()
  19. store_param = False
  20. if store_param:
  21. nbus.get_slave(s1_adr).cmd_set_param(1, PARAM_SAMPLERATE, 1)
  22. nbus.get_slave(s1_adr).cmd_set_param(1, PARAM_RANGE, 0)
  23. nbus.get_slave(s1_adr).cmd_set_param(1, PARAM_FILTER, 2)
  24. nbus.get_slave(s1_adr).cmd_store(1)
  25. sys.exit()
  26. # !!!! slave1.cmd_set_param(1, PARAM_SAMPLERATE, 10)
  27. # !!!! slave1.cmd_set_param(2, PARAM_SAMPLERATE, 10)
  28. for s in range(1):
  29. sr = nbus.get_slave(s1_adr).cmd_get_param(s + 1, PARAM_SAMPLERATE)
  30. r = nbus.get_slave(s1_adr).cmd_get_param(s + 1, PARAM_RANGE)
  31. lpf = nbus.get_slave(s1_adr).cmd_get_param(s + 1, PARAM_FILTER)
  32. ee = nbus.get_slave(s1_adr).cmd_get_param(s + 1, PARAM_GAIN)
  33. print(sr, r, lpf, ee)
  34. sr = nbus.get_slave(s1_adr).cmd_get_param(1, PARAM_SAMPLERATE)
  35. nbus.get_slave(s1_adr).cmd_set_param(1, PARAM_RANGE, 1)
  36. print(nbus.get_slave(s1_adr).slave_params)
  37. nbus.cmd_start()
  38. time.sleep(0.1)
  39. # nbus.cmd_stop()
  40. # sys.exit()
  41. pocet = nbus.get_slave(s1_adr).cmd_sensor_cnt()
  42. # sys.exit()
  43. print("pocet senzorov=", pocet)
  44. data_acc = []
  45. for i in range(164):
  46. acc = nbus.get_slave(s1_adr).cmd_sensor_get_data_IMU(1)
  47. # gyr = nbus.get_slave(s1_adr).cmd_sensor_get_data_IMU(2)
  48. data_acc.append(acc)
  49. # print(gyr)
  50. print(".", end=" ")
  51. nbus.cmd_stop()
  52. show_data(data_acc)
  53. # sys.exit()
  54. for i in range(pocet):
  55. d = nbus.get_slave(s1_adr).cmd_sensor_get_data(i + 1)
  56. print("Data", i + 1, ":\t", d)
  57. print("Sensor type")
  58. for i in range(pocet):
  59. print(nbus.get_slave(s1_adr).cmd_sensor_type(i + 1))
  60. print("Sensors type")
  61. print(nbus.get_slave(s1_adr).cmd_sensors_type(pocet))
  62. par = nbus.get_slave(s1_adr).cmd_get_params(1)
  63. print(par)
  64. r = nbus.get_slave(s1_adr).cmd_module_info(0xE1)
  65. print('NAME:', r)
  66. r = nbus.get_slave(s1_adr).cmd_module_info(0xE2)
  67. print('TYPE', r)
  68. r = nbus.get_slave(s1_adr).cmd_module_info(0xE4)
  69. print('FW', r)
  70. r = nbus.get_slave(s1_adr).cmd_module_info(0xE5)
  71. print('HW', r)
  72. r = nbus.get_slave(s1_adr).cmd_module_info(0xE3)
  73. print("UUID", r)
  74. r = nbus.get_slave(s1_adr).cmd_module_info(0xE6)
  75. print("MEM ID", r)
  76. nbus.finish()