8/31/2023 0 Comments Nucleo wl55jc1![]() ![]() That is, one board can be programmed with the above application and the other with the SubGHz_Phy_PingPong application, and they will both work together as expected. Note that these examples are compatible with the SubGHz_Phy_PingPong example. Lastly, build the project and use it to program both Nucleo boards. Then, simply replace the contents of the project’s main.c file with the contents of one of the files in the GitHub Repository, depending on which modulation scheme you wish for the example to utilize. To execute the application, follow the steps provided in the previous section to create a project which includes the low-level sub-GHz radio driver. Eventually, the two boards synchronize so only one device sends “PING” messages and the other device sends “PONG” messages in response. Initially, both boards are in the master state sending “PING” messages at random intervals and waiting for responses. Two NUCLEO-WL55JC1 boards are required to run these examples, one of which will act as the master while the other will act as the slave. The project structure should now appear as shown.įigure 1: Low-level radio driver Ping Pong example project finite state machine Rename the file radio_conf_template.h to radio_conf.h. /STM32Cube_FW_WL_V1.1.0/Projects/NUCLEO-WL55JC/Applications/SubGHz_Phy/SubGHz_Phy_PingPong/SubGHz_Phy/Target/radio_board_if.h./STM32Cube_FW_WL_V1.1.0/Projects/NUCLEO-WL55JC/Applications/SubGHz_Phy/SubGHz_Phy_PingPong/SubGHz_Phy/Target/radio_board_if.c./STM32Cube_FW_WL_V1.1.0/Middlewares/Third_Party/SubGHz_Phy/Conf/radio_conf_template.h. ![]() ![]() /STM32Cube_FW_WL_V1.1.0/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio_driver.h./STM32Cube_FW_WL_V1.1.0/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio_driver.c.Into this folder, copy the following files from the STM32CubeWL MCU package: With the dependencies taken care of, the radio driver itself can be added!Ĭreate a new folder in the Drivers directory named “Radio” (or whatever you prefer). Repeat Step 4 for both the Utilities/conf and Utilites/misc directories to add them to the list of include paths.Use the Board Selector tab to select the NUCLEO-WL55JC1 evaluation board. To create a new project, start the STM32 Project Wizard by choosing File > New > STM32 Project. Launch the STM32CubeIDE application and open (or create) the desired workspace. An existing project which has been properly configured may also be used. Here, a new STM32 project will be created from scratch and the SubGHz peripheral will be enabled. The first step is to establish a project that the driver can be added to. STM32CubeWL MCU Package (version 1.1.0).To follow along with the tutorial exactly, the following items are required. In this tutorial, it is demonstrated how this low-level layer can be isolated from the Sub-GHz Phy middleware and added to an STM32CubeIDE project directly. At the expense of some quality attributes such as maintainability and portability, coding with this driver directly allows the programmer to exercise greater control over their application. The low-level driver simply implements the SUBGHZSPI commands outlined in the Reference Manual and provides definitions for the sub-GHz radio registers. However, convenient as these functions are, they come at the cost of inefficiency in the form of redundant function calls and an over-reliance on utilities such as a sequencer and timer server. The high-level driver provides many helpful functions which abstract the low-level radio functionality, such as RadioInit(), RadioSetTxConfig(), and RadioSend(). The Sub-GHz Phy middleware is composed of a high-level layer ( radio.c) and a low-level layer ( radio_driver.c). For simple applications demanding minimum power consumption, it may be beneficial to isolate the RF interface driver from the Sub-GHz Phy middleware and utilize it directly. This results in a larger, more complex project which consumes more device memory and introduces several abstraction-related inefficiencies. While an abstraction layer to this RF interface is defined in the Sub-GHz Phy middleware (available in the STM32CubeWL MCU Package), adding this middleware to a project using STM32CubeMX requires an advanced configuration with dependencies between several other peripherals and libraries. Communication with this radio peripheral is done via an internal SPI interface using the commands outlined in section 5.8 of the device Reference Manual. The STM32WL series of devices includes a build in sub-GHz radio peripheral capable of LoRa (STM32WLE5/55 devices only), (G)FSK, (G)MSK, and BPSK modulation schemes. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |