|
|
|
@ -67,7 +67,7 @@ void ObjectFactory::produce(void* args) {
|
|
|
|
|
GpioCookie* gpioCookie = nullptr;
|
|
|
|
|
static_cast<void>(gpioCookie);
|
|
|
|
|
|
|
|
|
|
SpiComIF* spiComIF = new SpiComIF(objects::SPI_COM_IF, gpioIF);
|
|
|
|
|
SpiComIF* spiComIF = new SpiComIF(objects::SPI_MAIN_COM_IF, spi::DEV, gpioIF);
|
|
|
|
|
static_cast<void>(spiComIF);
|
|
|
|
|
auto pwrSwitcher = new DummyPowerSwitcher(objects::PCDU_HANDLER, 18, 0);
|
|
|
|
|
static_cast<void>(pwrSwitcher);
|
|
|
|
@ -116,73 +116,72 @@ void ObjectFactory::createRpiAcsBoard(GpioIF* gpioIF, std::string spiDev) {
|
|
|
|
|
gpio::Direction::OUT, gpio::Levels::HIGH);
|
|
|
|
|
gpioIF->addGpios(gpioCookie);
|
|
|
|
|
SpiCookie* spiCookie =
|
|
|
|
|
new SpiCookie(addresses::MGM_0_LIS3, gpioIds::MGM_0_LIS3_CS, spiDev,
|
|
|
|
|
MGMLIS3MDL::MAX_BUFFER_SIZE, spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
|
|
|
|
|
new SpiCookie(addresses::MGM_0_LIS3, gpioIds::MGM_0_LIS3_CS, MGMLIS3MDL::MAX_BUFFER_SIZE,
|
|
|
|
|
spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
|
|
|
|
|
auto mgmLis3Handler =
|
|
|
|
|
new MgmLIS3MDLHandler(objects::MGM_0_LIS3_HANDLER, objects::SPI_COM_IF, spiCookie, 0);
|
|
|
|
|
new MgmLIS3MDLHandler(objects::MGM_0_LIS3_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, 0);
|
|
|
|
|
mgmLis3Handler->setStartUpImmediately();
|
|
|
|
|
#if OBSW_TEST_ACS == 1
|
|
|
|
|
mgmLis3Handler->setToGoToNormalMode(true);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
spiCookie =
|
|
|
|
|
new SpiCookie(addresses::MGM_1_RM3100, gpioIds::MGM_1_RM3100_CS, spiDev,
|
|
|
|
|
RM3100::MAX_BUFFER_SIZE, spi::DEFAULT_RM3100_MODE, spi::DEFAULT_RM3100_SPEED);
|
|
|
|
|
new SpiCookie(addresses::MGM_1_RM3100, gpioIds::MGM_1_RM3100_CS, RM3100::MAX_BUFFER_SIZE,
|
|
|
|
|
spi::DEFAULT_RM3100_MODE, spi::DEFAULT_RM3100_SPEED);
|
|
|
|
|
auto mgmRm3100Handler =
|
|
|
|
|
new MgmRM3100Handler(objects::MGM_1_RM3100_HANDLER, objects::SPI_COM_IF, spiCookie, 0);
|
|
|
|
|
new MgmRM3100Handler(objects::MGM_1_RM3100_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, 0);
|
|
|
|
|
mgmRm3100Handler->setStartUpImmediately();
|
|
|
|
|
#if OBSW_TEST_ACS == 1
|
|
|
|
|
mgmRm3100Handler->setToGoToNormalMode(true);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
spiCookie =
|
|
|
|
|
new SpiCookie(addresses::MGM_2_LIS3, gpioIds::MGM_2_LIS3_CS, spiDev,
|
|
|
|
|
MGMLIS3MDL::MAX_BUFFER_SIZE, spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
|
|
|
|
|
new SpiCookie(addresses::MGM_2_LIS3, gpioIds::MGM_2_LIS3_CS, MGMLIS3MDL::MAX_BUFFER_SIZE,
|
|
|
|
|
spi::DEFAULT_LIS3_MODE, spi::DEFAULT_LIS3_SPEED);
|
|
|
|
|
mgmLis3Handler =
|
|
|
|
|
new MgmLIS3MDLHandler(objects::MGM_2_LIS3_HANDLER, objects::SPI_COM_IF, spiCookie, 0);
|
|
|
|
|
new MgmLIS3MDLHandler(objects::MGM_2_LIS3_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, 0);
|
|
|
|
|
mgmLis3Handler->setStartUpImmediately();
|
|
|
|
|
#if OBSW_TEST_ACS == 1
|
|
|
|
|
mgmLis3Handler->setToGoToNormalMode(true);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
spiCookie =
|
|
|
|
|
new SpiCookie(addresses::MGM_3_RM3100, gpioIds::MGM_3_RM3100_CS, spiDev,
|
|
|
|
|
RM3100::MAX_BUFFER_SIZE, spi::DEFAULT_RM3100_MODE, spi::DEFAULT_RM3100_SPEED);
|
|
|
|
|
new SpiCookie(addresses::MGM_3_RM3100, gpioIds::MGM_3_RM3100_CS, RM3100::MAX_BUFFER_SIZE,
|
|
|
|
|
spi::DEFAULT_RM3100_MODE, spi::DEFAULT_RM3100_SPEED);
|
|
|
|
|
mgmRm3100Handler =
|
|
|
|
|
new MgmRM3100Handler(objects::MGM_3_RM3100_HANDLER, objects::SPI_COM_IF, spiCookie, 0);
|
|
|
|
|
new MgmRM3100Handler(objects::MGM_3_RM3100_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, 0);
|
|
|
|
|
mgmRm3100Handler->setStartUpImmediately();
|
|
|
|
|
#if OBSW_TEST_ACS == 1
|
|
|
|
|
mgmRm3100Handler->setToGoToNormalMode(true);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
spiCookie =
|
|
|
|
|
new SpiCookie(addresses::GYRO_0_ADIS, gpioIds::GYRO_0_ADIS_CS, spiDev,
|
|
|
|
|
ADIS1650X::MAXIMUM_REPLY_SIZE, spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
|
|
|
|
|
auto adisHandler = new GyroADIS1650XHandler(objects::GYRO_0_ADIS_HANDLER, objects::SPI_COM_IF,
|
|
|
|
|
spiCookie, ADIS1650X::Type::ADIS16505);
|
|
|
|
|
new SpiCookie(addresses::GYRO_0_ADIS, gpioIds::GYRO_0_ADIS_CS, ADIS1650X::MAXIMUM_REPLY_SIZE,
|
|
|
|
|
spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
|
|
|
|
|
auto adisHandler =
|
|
|
|
|
new GyroADIS1650XHandler(objects::GYRO_0_ADIS_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie,
|
|
|
|
|
ADIS1650X::Type::ADIS16505);
|
|
|
|
|
adisHandler->setStartUpImmediately();
|
|
|
|
|
spiCookie =
|
|
|
|
|
new SpiCookie(addresses::GYRO_1_L3G, gpioIds::GYRO_1_L3G_CS, spiDev, L3GD20H::MAX_BUFFER_SIZE,
|
|
|
|
|
spiCookie = new SpiCookie(addresses::GYRO_1_L3G, gpioIds::GYRO_1_L3G_CS, L3GD20H::MAX_BUFFER_SIZE,
|
|
|
|
|
spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
|
|
|
|
|
auto gyroL3gHandler =
|
|
|
|
|
new GyroHandlerL3GD20H(objects::GYRO_1_L3G_HANDLER, objects::SPI_COM_IF, spiCookie, 0);
|
|
|
|
|
new GyroHandlerL3GD20H(objects::GYRO_1_L3G_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, 0);
|
|
|
|
|
gyroL3gHandler->setStartUpImmediately();
|
|
|
|
|
#if OBSW_TEST_ACS == 1
|
|
|
|
|
gyroL3gHandler->setToGoToNormalMode(true);
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
spiCookie =
|
|
|
|
|
new SpiCookie(addresses::GYRO_2_ADIS, gpioIds::GYRO_2_ADIS_CS, spiDev,
|
|
|
|
|
ADIS1650X::MAXIMUM_REPLY_SIZE, spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
|
|
|
|
|
adisHandler = new GyroADIS1650XHandler(objects::GYRO_2_ADIS_HANDLER, objects::SPI_COM_IF,
|
|
|
|
|
new SpiCookie(addresses::GYRO_2_ADIS, gpioIds::GYRO_2_ADIS_CS, ADIS1650X::MAXIMUM_REPLY_SIZE,
|
|
|
|
|
spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
|
|
|
|
|
adisHandler = new GyroADIS1650XHandler(objects::GYRO_2_ADIS_HANDLER, objects::SPI_MAIN_COM_IF,
|
|
|
|
|
spiCookie, ADIS1650X::Type::ADIS16505);
|
|
|
|
|
adisHandler->setStartUpImmediately();
|
|
|
|
|
|
|
|
|
|
spiCookie =
|
|
|
|
|
new SpiCookie(addresses::GYRO_3_L3G, gpioIds::GYRO_3_L3G_CS, spiDev, L3GD20H::MAX_BUFFER_SIZE,
|
|
|
|
|
spiCookie = new SpiCookie(addresses::GYRO_3_L3G, gpioIds::GYRO_3_L3G_CS, L3GD20H::MAX_BUFFER_SIZE,
|
|
|
|
|
spi::DEFAULT_L3G_MODE, spi::DEFAULT_L3G_SPEED);
|
|
|
|
|
gyroL3gHandler =
|
|
|
|
|
new GyroHandlerL3GD20H(objects::GYRO_3_L3G_HANDLER, objects::SPI_COM_IF, spiCookie, 0);
|
|
|
|
|
new GyroHandlerL3GD20H(objects::GYRO_3_L3G_HANDLER, objects::SPI_MAIN_COM_IF, spiCookie, 0);
|
|
|
|
|
gyroL3gHandler->setStartUpImmediately();
|
|
|
|
|
#if OBSW_TEST_ACS == 1
|
|
|
|
|
gyroL3gHandler->setToGoToNormalMode(true);
|
|
|
|
|