diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ff5af146481747dfdf70125736764aba2ac10d2..b5369a8580e1b65fa13d3c70e17929555bf10d87 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -233,7 +233,7 @@ add_executable(test-sx1278-serial src/tests/drivers/sx1278/test-sx1278-serial.cpp src/tests/drivers/sx1278/test-sx1278-core.cpp ) -sbs_target(test-sx1278-serial stm32f407vg_stm32f4discovery) +sbs_target(test-sx1278-serial stm32f429zi_stm32f4discovery) #-----------------------------------------------------------------------------# # Tests - Sensors # diff --git a/src/tests/drivers/sx1278/test-sx1278-serial.cpp b/src/tests/drivers/sx1278/test-sx1278-serial.cpp index 11d57549e25b2866d80f3ae0db2fce89f811c3a9..c7c0bbedae9b245610370885905ca2957bfb9fed 100644 --- a/src/tests/drivers/sx1278/test-sx1278-serial.cpp +++ b/src/tests/drivers/sx1278/test-sx1278-serial.cpp @@ -31,17 +31,17 @@ using namespace Boardcore; using namespace miosix; -SPIBus bus(SPI3); +SPIBus bus(SPI4); -GpioPin sck(GPIOC_BASE, 10); -GpioPin miso(GPIOC_BASE, 11); -GpioPin mosi(GPIOC_BASE, 12); -GpioPin cs(GPIOA_BASE, 1); -GpioPin dio(GPIOC_BASE, 15); +GpioPin sck(GPIOE_BASE, 2); +GpioPin miso(GPIOE_BASE, 5); +GpioPin mosi(GPIOE_BASE, 6); +GpioPin cs(GPIOC_BASE, 1); +GpioPin dio(GPIOF_BASE, 10); SX1278* sx1278 = nullptr; -void __attribute__((used)) EXTI15_IRQHandlerImpl() +void __attribute__((used)) EXTI10_IRQHandlerImpl() { if (sx1278) sx1278->handleDioIRQ(); @@ -54,16 +54,16 @@ void initBoard() miosix::FastInterruptDisableLock dLock; // Enable SPI3 - RCC->APB1ENR |= RCC_APB1ENR_SPI3EN; + RCC->APB2ENR |= RCC_APB2ENR_SPI4EN; // Enable SPI4 bus RCC_SYNC(); // Setup SPI pins sck.mode(miosix::Mode::ALTERNATE); - sck.alternateFunction(6); + sck.alternateFunction(5); miso.mode(miosix::Mode::ALTERNATE); - miso.alternateFunction(6); + miso.alternateFunction(5); mosi.mode(miosix::Mode::ALTERNATE); - mosi.alternateFunction(6); + mosi.alternateFunction(5); cs.mode(miosix::Mode::OUTPUT); dio.mode(miosix::Mode::INPUT); @@ -119,14 +119,14 @@ int main() return -1; } + printf("\n[sx1278] Initialization complete!\n"); + std::thread recv([]() { recvLoop(); }); std::thread send([]() { sendLoop(); }); - printf("\n[sx1278] Initialization complete!\n"); - // God please forgive me // FIXME(davide.mor): ABSOLUTELY fix this - miosix::Thread::sleep(10000); + miosix::Thread::sleep(20000); miosix::reboot(); return 0;