Skip to content
Snippets Groups Projects
Commit 3bacab8b authored by Matteo Pignataro's avatar Matteo Pignataro
Browse files

[SX1278] Added stm32f429 support

parent 3b26a893
No related branches found
No related tags found
No related merge requests found
...@@ -233,7 +233,7 @@ add_executable(test-sx1278-serial ...@@ -233,7 +233,7 @@ add_executable(test-sx1278-serial
src/tests/drivers/sx1278/test-sx1278-serial.cpp src/tests/drivers/sx1278/test-sx1278-serial.cpp
src/tests/drivers/sx1278/test-sx1278-core.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 # # Tests - Sensors #
......
...@@ -31,17 +31,17 @@ ...@@ -31,17 +31,17 @@
using namespace Boardcore; using namespace Boardcore;
using namespace miosix; using namespace miosix;
SPIBus bus(SPI3); SPIBus bus(SPI4);
GpioPin sck(GPIOC_BASE, 10); GpioPin sck(GPIOE_BASE, 2);
GpioPin miso(GPIOC_BASE, 11); GpioPin miso(GPIOE_BASE, 5);
GpioPin mosi(GPIOC_BASE, 12); GpioPin mosi(GPIOE_BASE, 6);
GpioPin cs(GPIOA_BASE, 1); GpioPin cs(GPIOC_BASE, 1);
GpioPin dio(GPIOC_BASE, 15); GpioPin dio(GPIOF_BASE, 10);
SX1278* sx1278 = nullptr; SX1278* sx1278 = nullptr;
void __attribute__((used)) EXTI15_IRQHandlerImpl() void __attribute__((used)) EXTI10_IRQHandlerImpl()
{ {
if (sx1278) if (sx1278)
sx1278->handleDioIRQ(); sx1278->handleDioIRQ();
...@@ -54,16 +54,16 @@ void initBoard() ...@@ -54,16 +54,16 @@ void initBoard()
miosix::FastInterruptDisableLock dLock; miosix::FastInterruptDisableLock dLock;
// Enable SPI3 // Enable SPI3
RCC->APB1ENR |= RCC_APB1ENR_SPI3EN; RCC->APB2ENR |= RCC_APB2ENR_SPI4EN; // Enable SPI4 bus
RCC_SYNC(); RCC_SYNC();
// Setup SPI pins // Setup SPI pins
sck.mode(miosix::Mode::ALTERNATE); sck.mode(miosix::Mode::ALTERNATE);
sck.alternateFunction(6); sck.alternateFunction(5);
miso.mode(miosix::Mode::ALTERNATE); miso.mode(miosix::Mode::ALTERNATE);
miso.alternateFunction(6); miso.alternateFunction(5);
mosi.mode(miosix::Mode::ALTERNATE); mosi.mode(miosix::Mode::ALTERNATE);
mosi.alternateFunction(6); mosi.alternateFunction(5);
cs.mode(miosix::Mode::OUTPUT); cs.mode(miosix::Mode::OUTPUT);
dio.mode(miosix::Mode::INPUT); dio.mode(miosix::Mode::INPUT);
...@@ -119,14 +119,14 @@ int main() ...@@ -119,14 +119,14 @@ int main()
return -1; return -1;
} }
printf("\n[sx1278] Initialization complete!\n");
std::thread recv([]() { recvLoop(); }); std::thread recv([]() { recvLoop(); });
std::thread send([]() { sendLoop(); }); std::thread send([]() { sendLoop(); });
printf("\n[sx1278] Initialization complete!\n");
// God please forgive me // God please forgive me
// FIXME(davide.mor): ABSOLUTELY fix this // FIXME(davide.mor): ABSOLUTELY fix this
miosix::Thread::sleep(10000); miosix::Thread::sleep(20000);
miosix::reboot(); miosix::reboot();
return 0; return 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment