app_dummy.c 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #include "app_dummy.h"
  2. #include <stdint.h>
  3. nBusAppInterface_t dummy_driver = {
  4. dummy_init, dummy_reset, dummy_getType, dummy_getSensorCount, dummy_getData,
  5. dummy_setData, dummy_hasParam, dummy_getParam, dummy_setParam, dummy_start,
  6. dummy_stop, dummy_read, dummy_store, dummy_calibrate, dummy_getFormat,
  7. };
  8. nBusAppInterface_t *getDummyDriver()
  9. {
  10. return &dummy_driver;
  11. }
  12. void dummy_init(void *hw_interface, void *hw_config)
  13. {
  14. }
  15. void dummy_reset()
  16. {
  17. }
  18. nBus_sensorType_t dummy_getType(uint8_t sensor_index)
  19. {
  20. if (sensor_index > dummy_getSensorCount())
  21. return TYPE_UNKNOWN;
  22. switch (sensor_index)
  23. {
  24. case 1:
  25. return TYPE_ACCELEROMETER;
  26. case 2:
  27. return TYPE_GYROSCOPE;
  28. case 3:
  29. return TYPE_MAGNETOMETER;
  30. case 4:
  31. return TYPE_HEART_RATE;
  32. case 5:
  33. return TYPE_PRESSURE;
  34. }
  35. return TYPE_UNKNOWN;
  36. }
  37. uint8_t dummy_getSensorCount()
  38. {
  39. return 4;
  40. }
  41. uint32_t dummy_data[4] = {0x12345678, 0x9ABCDEF0, 0x87654321, 0x0FEDCBA9};
  42. uint8_t dummy_getData(uint8_t sensor_index, uint8_t *data)
  43. {
  44. for (uint8_t i = 0; i < 4; ++i)
  45. {
  46. data[i] = ((uint8_t *)&dummy_data)[i + (sensor_index - 1) * 8];
  47. data[4 + i] = ((uint8_t *)&dummy_data)[4 + i + (sensor_index - 1) * 8];
  48. }
  49. return 8;
  50. }
  51. uint8_t dummy_setData(uint8_t *data)
  52. {
  53. return 1;
  54. }
  55. int32_t dummy_getParam(uint8_t sensor_index, nBus_param_t param)
  56. {
  57. return 0xABCD4567;
  58. }
  59. uint8_t dummy_hasParam(uint8_t sensor_index, nBus_param_t param)
  60. {
  61. if (sensor_index < dummy_getSensorCount())
  62. return 1;
  63. return 0;
  64. }
  65. nBus_param_t dummy_setParam(uint8_t sensor_index, nBus_param_t param, int32_t value)
  66. {
  67. return param;
  68. }
  69. void dummy_start(void)
  70. {
  71. return;
  72. }
  73. void dummy_stop(void)
  74. {
  75. return;
  76. }
  77. void dummy_read(void)
  78. {
  79. return;
  80. }
  81. uint8_t dummy_store(void)
  82. {
  83. return 0;
  84. }
  85. uint8_t dummy_calibrate(uint8_t subslaveIndex, uint8_t calibrationParamsNum, uint8_t *calibrationParams)
  86. {
  87. return 0;
  88. }
  89. nBus_sensorFormat_t dummy_getFormat(uint8_t sensor_index)
  90. {
  91. return (nBus_sensorFormat_t){.sign = 0, .variable_length = 0, .q_m = 32, .q_n = 0};
  92. }