This repository contains the STM32WL firmware for the Argos SMD module using the Kineis stack. It provides two demo application examples (standalone or AT commands) for STM32WL55xx-based hardware reference designs (KRD_MP).
The project is based on krd_fw_package_v8.2.1
from CLS and has been adapted for the argos-smd module.
In GUI mode, the module responds to AT commands and interacts with the KimGUI from CLS.
To start, look at the Arduino sample code used for certification or the Zephyr UART driver tested with Feather nRF52840.
- Compiles standalone or GUI applications by default
- Supports periodic SAT message transmission (Standalone)
- Configurable MAC profiles and radio settings
- Low Power Mode (LPM) management
Misconfigured settings may lead to improper operation or device malfunction.
- Contact Kinéis to obtain the required credentials (ID, address, secret key) for the stack.
- Securely store the credentials. The provided package stores them in RAM/FLASH without protection.
- Update
device_id
andaddress
in themcu_nvm.c
file.
Note: Currently, the ID must be changed at build time. A command to modify it will be added soon.
- Obtain radio configuration binary files from Kinéis or used one defined into mcu_nvm.c file.
- Store configuration data securely. In the provided package, the configuration is hardcoded as a byte table in
mcu_nvm.c
. - Alternatively:
- Use the
AT+RCONF=
command. - Modify the configuration directly by commenting/uncommenting the corresponding settings in the
mcu_nvm.c
file.
- Use the
- Choose between BASIC and BLIND MAC profiles by setting compilation flags in makefile .
- Configure parameters such as the repetition period and the number of repetitions for the BLIND profile.
- Install STM32CubeIDE.
- Open the project from the Kinéis package archive.
- Clean the project before rebuilding.
- Build the project to generate the binary file.
- Ensure the GNU Make and ARM toolchain are available.
- Clean the current build before rebuilding:
make Clean
- Run
make
from the root directory
- Adjust log levels, LPM levels, and board types in the
Makefile
as needed.
The available AT commands for the GUI application are managed by the AT command manager. Key commands include:
AT+VERSION
: Get the AT commands versionAT+PING
: Ping commandAT+FW
: Get the firmware versionAT+ADDR
: Get the device addressAT+ID
: Get the device IDAT+SN
: Get the device serial numberAT+RCONF
: Get/Set radio configurationAT+SAVE_RCONF
: Save the radio configuration to FlashAT+LPM
: Get/Set low power mode
AT+TX
: Transmit data
AT+CW
: Continuous Wave/MW commands
AT+PREPASS_EN
: Get/Set the PREVIPASS algorithmAT+UDATE
: Update UTC date/time
AT+KMAC
: Get/Set the MAC profile
Refer to the mgr_at_cmd_list.h
file for the complete list of supported AT commands.
Auto-generated Doxygen documentation is available in the Kineis/Doc
folder. Open index.html
for detailed information.
This project is licensed under the GNU General Public License v3. See the LICENSE
file for details.
- SPI driver instead of UART
- Add and manage CLS ID
- Programming firmware by SPI