app_dummy.c 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #include "app_dummy.h"
  2. #include <stdint.h>
  3. nBusAppInterface_t dummy_driver = {
  4. dummy_init,
  5. dummy_reset,
  6. dummy_getType,
  7. dummy_getSensorCount,
  8. dummy_getData,
  9. dummy_setData,
  10. dummy_hasParam,
  11. dummy_getParam,
  12. dummy_setParam
  13. };
  14. nBusAppInterface_t *getDummyDriver(){
  15. return &dummy_driver;
  16. }
  17. void dummy_init(void *hw_interface, void *hw_config){
  18. }
  19. void dummy_reset(){
  20. }
  21. nBus_sensorType_t dummy_getType(uint8_t sensor_index){
  22. if (sensor_index > dummy_getSensorCount())
  23. return TYPE_UNKNOWN;
  24. switch (sensor_index){
  25. case 1:
  26. return TYPE_ACCELEROMETER;
  27. case 2:
  28. return TYPE_GYROSCOPE;
  29. case 3:
  30. return TYPE_MAGNETOMETER;
  31. case 4:
  32. return TYPE_HEART_RATE;
  33. case 5:
  34. return TYPE_PRESSURE;
  35. }
  36. return TYPE_UNKNOWN;
  37. }
  38. uint8_t dummy_getSensorCount(){
  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. for (uint8_t i=0; i<4 ;++i){
  44. data[i] = ((uint8_t*)&dummy_data)[i+(sensor_index-1)*8];
  45. data[4+i] = ((uint8_t*)&dummy_data)[4+i+(sensor_index-1)*8];
  46. }
  47. return 8;
  48. }
  49. uint8_t dummy_setData(uint8_t *data){
  50. return 1;
  51. }
  52. uint8_t dummy_getParam(uint8_t sensor_index, nBus_param_t param){
  53. return 0xAB;
  54. }
  55. uint8_t dummy_hasParam(uint8_t sensor_index, nBus_param_t param){
  56. if (sensor_index < dummy_getSensorCount())
  57. return 1;
  58. return 0;
  59. }
  60. nBus_param_t dummy_setParam(uint8_t sensor_index, nBus_param_t param, uint8_t value){
  61. return param;
  62. }