diff --git a/src/entrypoints/anakin-demo-board.cpp b/src/entrypoints/anakin-demo-board.cpp index 7ee1603c436d6c5733e922439ad52f189a0487b7..f5201511bca342597e29206986b29da13aabc010 100644 --- a/src/entrypoints/anakin-demo-board.cpp +++ b/src/entrypoints/anakin-demo-board.cpp @@ -38,6 +38,7 @@ #include <ethernet/UdpManager.h> using namespace miosix; +using std::vector; //#define ENABLE_ETHERNET constexpr uint32_t lp_alpha = 250; diff --git a/src/entrypoints/dma-lowlevel-test.cpp b/src/entrypoints/dma-lowlevel-test.cpp index b508b9d23266e3230bfc90c70a32c5ffd16a5e8b..a77a1d25b833a0a29e5de072b2262a0b401bf9ed 100644 --- a/src/entrypoints/dma-lowlevel-test.cpp +++ b/src/entrypoints/dma-lowlevel-test.cpp @@ -31,6 +31,8 @@ #include <DMA/DMA.h> #include <DMA/SensorSampling.h> +using namespace miosix; + typedef Gpio<GPIOA_BASE, 5> GpioSck; typedef Gpio<GPIOA_BASE, 6> GpioMiso; typedef Gpio<GPIOA_BASE, 7> GpioMosi; @@ -43,8 +45,6 @@ typedef ProtocolSPI<busSPI1, Gpio<GPIOG_BASE, 9>> spiINEMOG; typedef MPU9250<spiMPU9250> mpu_t; typedef iNEMOLSM9DS0<spiINEMOG,spiINEMOA> inemo_t; -typedef SensorADC<0,0,Gpio<GPIOA_BASE,0>> adc1; - int main() { puts("\n\n---"); diff --git a/src/shared/BusTemplate.h b/src/shared/BusTemplate.h index 44e3a66392de95e256489d51471dd2de48fc93da..2a52ea0315b9936051c5cc08edc0beb99a4e24df 100644 --- a/src/shared/BusTemplate.h +++ b/src/shared/BusTemplate.h @@ -34,9 +34,6 @@ #include <util/software_i2c.h> #include <DMA/DMA.h> -using namespace std; -using namespace miosix; - static const int csDelay=20; template<unsigned N, class GpioMosi, class GpioMiso, class GpioSclk> @@ -99,13 +96,13 @@ private: if(getSPIAddr(N) == SPI1) SPIDriver::instance(); else { - FastInterruptDisableLock dLock; + miosix::FastInterruptDisableLock dLock; IRQenableSPIBus(getSPIAddr(N)); - GpioMosi::mode(Mode::ALTERNATE); + GpioMosi::mode(miosix::Mode::ALTERNATE); GpioMosi::alternateFunction(GetAlternativeFunctionNumber(N)); - GpioMiso::mode(Mode::ALTERNATE); + GpioMiso::mode(miosix::Mode::ALTERNATE); GpioMiso::alternateFunction(GetAlternativeFunctionNumber(N)); - GpioSclk::mode(Mode::ALTERNATE); + GpioSclk::mode(miosix::Mode::ALTERNATE); GpioSclk::alternateFunction(GetAlternativeFunctionNumber(N)); getSPIAddr(N)->CR1 = SPI_CR1_SSM //Software cs | SPI_CR1_SSI //Hardware cs internally tied high @@ -139,7 +136,7 @@ template<class Bus, class GpioCS> class ProtocolSPI { public: static inline void init() { - GpioCS::mode(Mode::OUTPUT); + GpioCS::mode(miosix::Mode::OUTPUT); GpioCS::high(); Bus::init(); } diff --git a/src/shared/boards/AnakinBoard.cpp b/src/shared/boards/AnakinBoard.cpp index abcf58d503ec30d21f4a91bab80ca20a19e5bb15..170598263a915cbb70e0afd4d9267b7df18e82ee 100644 --- a/src/shared/boards/AnakinBoard.cpp +++ b/src/shared/boards/AnakinBoard.cpp @@ -111,7 +111,7 @@ bool AnakinBoard::init() sEventScheduler->add(std::bind(& type ## SensorSampler::Update,name),\ rate, #name "-" #rate "ms",start) - int64_t start=getTick(); //Synchronize activation + int64_t start=miosix::getTick(); //Synchronize activation ADD_SAMPLER(DMA, m100HzDMA, 10); // 10ms ADD_SAMPLER(DMA, m25HzDMA, 40); // 25ms ADD_SAMPLER(Simple, m10HzSimple, 100); // 100ms diff --git a/src/shared/boards/AnakinBoard.h b/src/shared/boards/AnakinBoard.h index 5bb9c39f6b63268f3601f31211ff550344dc5e9b..1d4929f795146121daa3035a88c2ba7d45aac759 100644 --- a/src/shared/boards/AnakinBoard.h +++ b/src/shared/boards/AnakinBoard.h @@ -36,19 +36,19 @@ #include <DMA/DMA.h> #include <DMA/SensorSampling.h> -typedef Gpio<GPIOA_BASE, 5> GpioSck; -typedef Gpio<GPIOA_BASE, 6> GpioMiso; -typedef Gpio<GPIOA_BASE, 7> GpioMosi; +typedef miosix::Gpio<GPIOA_BASE, 5> GpioSck; +typedef miosix::Gpio<GPIOA_BASE, 6> GpioMiso; +typedef miosix::Gpio<GPIOA_BASE, 7> GpioMosi; typedef BusSPI < 1, GpioMosi, GpioMiso, GpioSck> busSPI1; -typedef ProtocolSPI<busSPI1, Gpio<GPIOD_BASE, 13>> spiMPU9250; -typedef ProtocolSPI<busSPI1, Gpio<GPIOG_BASE, 11>> spiINEMOA; -typedef ProtocolSPI<busSPI1, Gpio<GPIOG_BASE, 9>> spiINEMOG; -typedef ProtocolSPI<busSPI1, Gpio<GPIOG_BASE, 10>> spiFXAS21002; -typedef ProtocolSPI<busSPI1, Gpio<GPIOE_BASE, 4>> spiLPS331AP; -typedef ProtocolSPI<busSPI1, Gpio<GPIOE_BASE, 2>> spiMAX21105; -typedef ProtocolSPI<busSPI1, Gpio<GPIOB_BASE, 10>> spiMS580301BA07; -//typedef ProtocolSPI<busSPI1, Gpio<GPIOB_BASE, 11>> spiMAX31856; +typedef ProtocolSPI<busSPI1, miosix::Gpio<GPIOD_BASE, 13>> spiMPU9250; +typedef ProtocolSPI<busSPI1, miosix::Gpio<GPIOG_BASE, 11>> spiINEMOA; +typedef ProtocolSPI<busSPI1, miosix::Gpio<GPIOG_BASE, 9>> spiINEMOG; +typedef ProtocolSPI<busSPI1, miosix::Gpio<GPIOG_BASE, 10>> spiFXAS21002; +typedef ProtocolSPI<busSPI1, miosix::Gpio<GPIOE_BASE, 4>> spiLPS331AP; +typedef ProtocolSPI<busSPI1, miosix::Gpio<GPIOE_BASE, 2>> spiMAX21105; +typedef ProtocolSPI<busSPI1, miosix::Gpio<GPIOB_BASE, 10>> spiMS580301BA07; +//typedef ProtocolSPI<busSPI1, miosix::Gpio<GPIOB_BASE, 11>> spiMAX31856; typedef MPU9250<spiMPU9250> mpu_t; typedef iNEMOLSM9DS0<spiINEMOG,spiINEMOA> inemo_t; diff --git a/src/shared/sensors/FXAS21002.h b/src/shared/sensors/FXAS21002.h index cfba4bf2807a26b4b412bff882cd46576d39b965..3e2d1d32d34fbcc14a9d869d6942ac55fb44d862 100644 --- a/src/shared/sensors/FXAS21002.h +++ b/src/shared/sensors/FXAS21002.h @@ -50,7 +50,7 @@ public: uint8_t timeout = 20; while((Bus::read(REG_CTRL1) & 0b01000000) && --timeout > 0) { - Thread::sleep(1); + miosix::Thread::sleep(1); } if(timeout == 0) @@ -76,7 +76,7 @@ public: timeout = 20; while(!(Bus::read(REG_INT_SRC_FLAG) & 0b00001000) && --timeout > 0) { - Thread::sleep(1); + miosix::Thread::sleep(1); } if(timeout == 0) diff --git a/src/shared/sensors/MAX21105.h b/src/shared/sensors/MAX21105.h index fc74175831d271194e5165f64ab468ba52b9eddf..0df5c4f16be6f3bba79810220fb6dfbb2a149e00 100644 --- a/src/shared/sensors/MAX21105.h +++ b/src/shared/sensors/MAX21105.h @@ -84,7 +84,7 @@ public: for(size_t i=0; i < sizeof(init_data)/sizeof(init_data[0]); i++) { Bus::write(init_data[i][0], init_data[i][1]); - Thread::sleep(1); + miosix::Thread::sleep(1); } return true; diff --git a/src/shared/sensors/MPL3115.h b/src/shared/sensors/MPL3115.h index e294f88829365601bdb805bae10c3adaa0628b4e..5262c5b420f4757251339709d0eb88ebba89cd57 100644 --- a/src/shared/sensors/MPL3115.h +++ b/src/shared/sensors/MPL3115.h @@ -41,7 +41,8 @@ public: mLastAltitude = 0.0f; } - bool init() { + bool init() + { setMode(MODE_BAROMETER); // raise and event flag on new pressure/altitude @@ -52,7 +53,8 @@ public: return true; } - bool selfTest() { + bool selfTest() + { uint8_t value = 0; BusType::read(devAddr,WHO_AM_I,&value,1); @@ -63,7 +65,8 @@ public: return false; } - bool onSimpleUpdate() { + bool onSimpleUpdate() + { /* To start a new one-shot conversion we have to set OST bit whith * SBYB bit cleared; these bit are, respectively, the second and * first bits from right in control register 1. @@ -80,12 +83,11 @@ public: temp |= 0x02; //set second bit BusType::write(devAddr,CTRL_REG1,&temp,1); - do{ - + do + { BusType::read(devAddr,CTRL_REG1,&temp,1); - Thread::sleep(6); //minimum sample time is 6 ms - - }while(!(temp & 0x02)); + miosix::Thread::sleep(6); //minimum sample time is 6 ms + } while(!(temp & 0x02)); /* This device supports register pointer auto-increment when reading * registers from 0x00 to 0x05, so with one read of 6 bytes we get @@ -102,7 +104,8 @@ public: uint8_t data[7]; BusType::read(devAddr,OUT_P_MSB,data,7); - if(sensorMode == MODE_BAROMETER) { + if(sensorMode == MODE_BAROMETER) + { // See datasheet at page 21 for more informations about // calculations below @@ -112,7 +115,8 @@ public: mLastPressure = static_cast<float>(press) / 64; } - if(sensorMode == MODE_ALTIMETER) { + if(sensorMode == MODE_ALTIMETER) + { uint32_t altitude = (static_cast<uint32_t>(data[0]) << 24) | (static_cast<uint32_t>(data[1]) << 16) | (static_cast<uint32_t>(data[2]) << 8); @@ -131,8 +135,8 @@ public: * true is returned in case of success, false if * the value passed in @param mode was not recognized */ - bool setMode(uint8_t mode) { - + bool setMode(uint8_t mode) + { if(sensorMode == mode) return true; @@ -156,7 +160,8 @@ public: * @param offset offset trim value as 8 bit two's complement number. * Range is from -8 to +7.9375°C, 0.0625°C per LSB */ - void setTempOffset(int8_t offset) { + void setTempOffset(int8_t offset) + { BusType::write(devAddr,TEMP_OFFSET,&offset,1); } @@ -165,7 +170,8 @@ public: * @param offset offset trim value as 8 bit two's complement number. * Range is from -512 to +508 Pa, 4 Pa per LSB */ - void setPressOffset(int8_t offset) { + void setPressOffset(int8_t offset) + { BusType::write(devAddr,PRESS_OFFSET,&offset,1); } @@ -174,7 +180,8 @@ public: * @param offset offset trim value as 8 bit two's complement number. * The range of values are from -128 to +127 meters */ - void setAltOffset(int8_t offset) { + void setAltOffset(int8_t offset) + { BusType::write(devAddr,ALTIT_OFFSET,&offset,1); } @@ -184,13 +191,15 @@ public: * For further informations about minimum time between samples and its * relation with oversampling ratio see datasheet at page 31 */ - void setOversampleRatio(uint8_t ratio) { + void setOversampleRatio(uint8_t ratio) + { uint8_t temp, osr = 0; BusType::read(devAddr,CTRL_REG1,&temp,1); temp &= ~0b00111000; //oversample ratio bits are 4th to 6th - switch(ratio) { + switch(ratio) + { case 1: osr = 0x00; break; case 2: osr = 0x01; break; case 4: osr = 0x02; break; @@ -206,9 +215,11 @@ public: temp |= osr << 3; BusType::write(devAddr,CTRL_REG1,&temp,1); } - enum sensMode { - MODE_BAROMETER = 0x01, - MODE_ALTIMETER = 0x02 + + enum sensMode + { + MODE_BAROMETER = 0x01, + MODE_ALTIMETER = 0x02 }; private: @@ -219,7 +230,8 @@ private: float lastPress; float lastAlt; - enum registers { + enum registers + { STATUS = 0x00, OUT_P_MSB = 0x01, OUT_P_CSB = 0x02, diff --git a/src/shared/sensors/MPU9250.h b/src/shared/sensors/MPU9250.h index 9c7d2d96f19092b37939ebd4ed195e250f438661..076b77cc1fa0a54704357d22aad20cd202852386 100644 --- a/src/shared/sensors/MPU9250.h +++ b/src/shared/sensors/MPU9250.h @@ -145,9 +145,9 @@ public: } akWriteReg(AK8963_CNTL2, 0x01); - Thread::sleep(1); + miosix::Thread::sleep(1); akWriteReg(AK8963_CNTL1, 0x16); - Thread::sleep(1); + miosix::Thread::sleep(1); magnetoFSMState = 1; return true; @@ -207,7 +207,7 @@ public: // -- SELF TEST ROUTINE -- Bus::read(REG_ST_GYRO, st_gyro, sizeof(st_gyro)); Bus::read(REG_ST_ACCEL, st_accel, sizeof(st_accel)); - Thread::sleep(10); + miosix::Thread::sleep(10); readRAWData(test); // -- DISABLE SELF TEST -- @@ -286,7 +286,7 @@ private: while(--timeout >= 0) { if(Bus::read(REG_I2C_MST_STATUS) & 0x40) break; - Thread::sleep(1); + miosix::Thread::sleep(1); } if(timeout < 0) @@ -329,7 +329,7 @@ private: for(size_t i=0;i<sizeof(regs)/sizeof(regs[0]);i++) Bus::write(regs[i][0], regs[i][1]); - Thread::sleep(1); + miosix::Thread::sleep(1); } enum magnetoMap diff --git a/src/shared/sensors/MS580301BA07.h b/src/shared/sensors/MS580301BA07.h index f6c47d6075cad92d075fecbaf2482eca1f7c01ce..7dfeafd977238180ad1a8b40e1511ba55b2bc733 100644 --- a/src/shared/sensors/MS580301BA07.h +++ b/src/shared/sensors/MS580301BA07.h @@ -53,7 +53,7 @@ public: Bus::read(RESET_DEV); cd.sens = readReg(PROM_READ_MASK | PROM_SENS_MASK); if(cd.sens == 0) - Thread::sleep(1); + miosix::Thread::sleep(1); } while (cd.sens == 0 && --timeout > 0); if(timeout <= 0) diff --git a/src/shared/sensors/iNemo.h b/src/shared/sensors/iNemo.h index 3d1315693a77cae10252e54d495dc82437d68403..eabf311cffd77e1e7316854511d62292725ef1fc 100644 --- a/src/shared/sensors/iNemo.h +++ b/src/shared/sensors/iNemo.h @@ -80,7 +80,7 @@ public: uint8_t timeout = 10; while(BusXM::read(CTRL_REG0_XM) != 0x00 && --timeout > 0) - Thread::sleep(1); + miosix::Thread::sleep(1); if(timeout == 0) {