...
Code Block |
---|
|
#include "IMU.hpp"
#include "gps.hpp"
/***********************************************************************************************************************
* Variables
**********************************************************************************************************************/
static ICM20602IMU *imuObj;
static NEOM8Gps *gpsObj;
/***********************************************************************************************************************
* Code
**********************************************************************************************************************/
void SensorFusion_Init(void)
{
imuObj = ICM20602::GetInstance();
gpsObj = NEOM8 ::GetInstance();
}
void SensorFusion_Execute(SensorResult *sensResult)
{
IMUData_t imuData = imuObj.getResult->etResult();
GpsData_t GpsData = gpsObj.getResult->getResult();
sensResult.result = DoCrazyMath(&imuData, &GpsData);
} |
...
I’ve modified the example above to show how this should be done.
Code Block |
---|
|
#include "IMU.hpp"
#include "gps.hpp"
/***********************************************************************************************************************
* Variables
**********************************************************************************************************************/
#ifdef TARGET_BUILD
static ICM20602IMU *imuObj;
static NEOM8Gps gpsObj;
#elif defined(TEST_BUILD)
static matlabIMU imuObj;
static matlabGps gpsObj;
#endif
*gpsObj;
/***********************************************************************************************************************
* Code
**********************************************************************************************************************/
void SensorFusion_Init(void)
{
#ifdef TARGET_BUILD
imuObj = ICM20602::GetInstance();
gpsObj = NEOM8 ::GetInstance();
#elif defined(TEST_BUILD)
imuObj = matlabIMU::GetInstance();
gpsObj = matlabGps::GetInstance();
#endif
}
void SensorFusion_Execute(SensorResult *sensResult)
{
IMUData_t imuData = imuObj.getResult();
GpsData_t GpsData = gpsObj.getResult();
sensResult.result = DoCrazyMath(&imuData, &GpsData);
} |