Juraj Ďuďák 2 лет назад
Родитель
Сommit
ec1c9d87a7
4 измененных файлов с 114 добавлено и 2 удалено
  1. 26 0
      Core/Inc/app_dummy.h
  2. 81 0
      Core/Src/app_dummy.c
  3. 6 1
      Core/Src/main.c
  4. 1 1
      Modules/nbus

+ 26 - 0
Core/Inc/app_dummy.h

@@ -0,0 +1,26 @@
+/*
+ * app_dummy.h
+ *
+ *  Created on: Nov 2, 2023
+ *      Author: juraj
+ */
+
+#ifndef INC_APP_DUMMY_H_
+#define INC_APP_DUMMY_H_
+
+#include "app_bridge.h"
+
+nBusAppInterface_t *getDummyDriver();
+
+void dummy_init(void *hw_interface, void *hw_config);
+void dummy_reset();
+nBus_sensorType_t dummy_getType(uint8_t sensor_index);
+uint8_t dummy_getSensorCount();
+uint8_t dummy_getData(uint8_t *data);
+uint8_t dummy_setData(uint8_t *data);
+uint8_t dummy_getParam(uint8_t sensor_index, nBus_param_t param);
+uint8_t dummy_hasParam(uint8_t sensor_index, nBus_param_t param);
+nBus_param_t dummy_setParam(uint8_t sensor_index, nBus_param_t param, uint8_t value);
+
+
+#endif /* INC_APP_DUMMY_H_ */

+ 81 - 0
Core/Src/app_dummy.c

@@ -0,0 +1,81 @@
+#include "app_dummy.h"
+#include <stdint.h>
+
+
+nBusAppInterface_t dummy_driver = {
+	  dummy_init,
+	  dummy_reset,
+	  dummy_getType,
+	  dummy_getSensorCount,
+	  dummy_getData,
+	  dummy_setData,
+	  dummy_hasParam,
+	  dummy_getParam,
+	  dummy_setParam
+};
+
+
+nBusAppInterface_t *getDummyDriver(){
+	return &dummy_driver;
+}
+
+void dummy_init(void *hw_interface, void *hw_config){
+
+}
+
+void dummy_reset(){
+
+}
+
+nBus_sensorType_t dummy_getType(uint8_t sensor_index){
+
+	if (sensor_index >= dummy_getSensorCount())
+		return TYPE_UNKNOWN;
+
+	switch (sensor_index){
+	case 0:
+		return TYPE_ACCELEROMETER;
+	case 1:
+		return TYPE_GYROSCOPE;
+	case 2:
+		return TYPE_MAGNETOMETER;
+	case 3:
+		return TYPE_HEART_RATE;
+	case 4:
+		return TYPE_PRESSURE;
+	}
+	return TYPE_UNKNOWN;
+}
+
+
+uint8_t dummy_getSensorCount(){
+	return 4;
+}
+
+
+uint8_t dummy_getData(uint8_t *data){
+	data[0]=1;
+	data[1]=2;
+	data[2]=3;
+	data[3]=4;
+	data[4]=5;
+	return 5;
+}
+
+uint8_t dummy_setData(uint8_t *data){
+	return 1;
+}
+
+uint8_t dummy_getParam(uint8_t sensor_index, nBus_param_t param){
+	return 0xAB;
+}
+
+uint8_t dummy_hasParam(uint8_t sensor_index, nBus_param_t param){
+	if (sensor_index < dummy_getSensorCount())
+		return 1;
+	return 0;
+}
+
+nBus_param_t dummy_setParam(uint8_t sensor_index, nBus_param_t param, uint8_t value){
+	return param;
+}

+ 6 - 1
Core/Src/main.c

@@ -22,6 +22,7 @@
 /* Private includes ----------------------------------------------------------*/
 /* USER CODE BEGIN Includes */
 #include "nbus_app.h"
+#include "app_dummy.h"
 /* USER CODE END Includes */
 
 /* Private typedef -----------------------------------------------------------*/
@@ -107,6 +108,7 @@ int main(void)
   McuPin_typeDef Led;
   Led.port = LD3_GPIO_Port;
   Led.pin = LD3_Pin;
+
   Peripheral_typeDef periph;
   periph.huart = &huart2;
   periph.uart_timer = &htim22;
@@ -115,7 +117,10 @@ int main(void)
   periph.led = &Led;
   periph.rtc = &hrtc;
 
-  nbus_init(&periph);
+
+  nBusAppInterface_t *dummy = getDummyDriver();
+  nbus_init(&periph, dummy);
+  nbus_init_app(periph.adc, NULL);
   nbus_stack();
 
   /* USER CODE END 2 */

+ 1 - 1
Modules/nbus

@@ -1 +1 @@
-Subproject commit e5055769bfc3eaf3e0d5059e7f7e446366b120a5
+Subproject commit 63a402e8b792ceade180b5c57ed5e9c9db5e4991