Skip to content

Commit

Permalink
Release v2.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthieu Antoine committed Mar 13, 2023
1 parent b2feb0e commit 55808fe
Show file tree
Hide file tree
Showing 8 changed files with 1,923 additions and 8 deletions.
7 changes: 6 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.1.0] - 2022-04-08

### Added

- [app] Support of LR1121 transceiver

## [2.0.0] - 2022-04-08

### Added
Expand Down Expand Up @@ -35,4 +41,3 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added

- Initial version (with LR1110 driver v3.0.0 and LoRa Basics Modem-E driver v1.0.0)

9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# LR11xx Updater tool

This tool is a reference implementation of the mechanism to update a firmware in a LR1110 / LR1120 chip. It is based on the [Application Note AN1200.57](https://semtech.my.salesforce.com/sfc/p/#E0000000JelG/a/2R000000Hlit/77J00f9xeOhqu8XDfHrB0G54bEJGikO58GGYT__hyis) - "LR1110: Upgrade of the Program Memory".
This tool is a reference implementation of the mechanism to update a firmware in a LR1110 / LR1120 / LR1121 chip. It is based on the [Application Note AN1200.57](https://semtech.my.salesforce.com/sfc/p/#E0000000JelG/a/2R000000Hlit/77J00f9xeOhqu8XDfHrB0G54bEJGikO58GGYT__hyis) - "LR1110: Upgrade of the Program Memory".

## Requirements

Expand Down Expand Up @@ -28,6 +28,13 @@ The list of compatible Semtech LR1120 shields is:
| LR1120MB1GIS | PCB_E655V01A - GNSS with LNA for Passive GNSS Antenna | 490MHz |
| LR1120MB1GJS | PCB_E656V01A - GNSS without LNA | 490MHz |

The list of compatible Semtech LR1121 shields is:

| Shield | PCB | Frequency matching |
| ------------ | ------------ | ------------------ |
| LR1121MB1DIS | PCB_E655V01A | 868/915MHz |
| LR1121MB1GIS | PCB_E655V01A | 490MHz |

### Touchscreen (optional)

This tool is compatible with a touchscreen (DM-TFT28-116) that can be optionnaly connected on top of the shield to get information directly - without the need to open a terminal on the computer connected to the board.
Expand Down
1,881 changes: 1,881 additions & 0 deletions application/inc/lr1121_transceiver_0101.h

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions application/inc/lr11xx_firmware_update.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ typedef enum
LR1110_FIRMWARE_UPDATE_TO_TRX,
LR1110_FIRMWARE_UPDATE_TO_MODEM,
LR1120_FIRMWARE_UPDATE_TO_TRX,
LR1121_FIRMWARE_UPDATE_TO_TRX,
} lr11xx_fw_update_t;

typedef enum
Expand Down
2 changes: 1 addition & 1 deletion application/inc/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ extern "C" {

#ifndef DEMO_VERSION
#warning "No demo version provided"
#define DEMO_VERSION "v2.0.0"
#define DEMO_VERSION "v2.1.0"
#endif

/*
Expand Down
5 changes: 5 additions & 0 deletions application/src/gui.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,11 @@ void gui_init( lr11xx_fw_update_t update, uint32_t fw_expected )
sprintf( buffer, "Update LR1120 to FW 0x%04x", fw_expected );
break;
}
case LR1121_FIRMWARE_UPDATE_TO_TRX:
{
sprintf( buffer, "Update LR1121 to FW 0x%04x", fw_expected );
break;
}
}

lv_obj_t* lbl_fw = lv_label_create( screen, NULL );
Expand Down
5 changes: 5 additions & 0 deletions application/src/lr11xx_firmware_update.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ lr11xx_fw_update_status_t lr11xx_update_firmware( void* radio, lr11xx_fw_update_
{
case LR1110_FIRMWARE_UPDATE_TO_TRX:
case LR1120_FIRMWARE_UPDATE_TO_TRX:
case LR1121_FIRMWARE_UPDATE_TO_TRX:
{
lr11xx_system_version_t version_trx = { 0x00 };
lr11xx_system_uid_t uid = { 0x00 };
Expand Down Expand Up @@ -219,6 +220,10 @@ bool lr11xx_is_fw_compatible_with_chip( lr11xx_fw_update_t update, uint16_t boot
{
return false;
}
else if( ( update == LR1121_FIRMWARE_UPDATE_TO_TRX ) && ( bootloader_version != 0x2100 ) )
{
return false;
}

return true;
}
Expand Down
21 changes: 16 additions & 5 deletions application/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
* --- DEPENDENCIES ------------------------------------------------------------
*/

#include "lr1120_transceiver_0101.h"
#include "lr1121_transceiver_0101.h"

#include "configuration.h"
#include "system.h"
Expand Down Expand Up @@ -106,17 +106,28 @@ int main( void )

gui_init( LR11XX_FIRMWARE_UPDATE_TO, LR11XX_FIRMWARE_VERSION );

if( LR11XX_FIRMWARE_UPDATE_TO == LR1110_FIRMWARE_UPDATE_TO_TRX )
switch( LR11XX_FIRMWARE_UPDATE_TO )
{
case LR1110_FIRMWARE_UPDATE_TO_TRX:
{
printf( "Update LR1110 to transceiver firmware 0x%04x\n", LR11XX_FIRMWARE_VERSION );
break;
}
if( LR11XX_FIRMWARE_UPDATE_TO == LR1120_FIRMWARE_UPDATE_TO_TRX )
case LR1120_FIRMWARE_UPDATE_TO_TRX:
{
printf( "Update LR1120 to transceiver firmware 0x%04x\n", LR11XX_FIRMWARE_VERSION );
break;
}
case LR1121_FIRMWARE_UPDATE_TO_TRX:
{
printf( "Update LR1121 to transceiver firmware 0x%04x\n", LR11XX_FIRMWARE_VERSION );
break;
}
else
case LR1110_FIRMWARE_UPDATE_TO_MODEM:
{
printf( "Update LR1110 to modem firmware 0x%04x\n", LR11XX_FIRMWARE_VERSION );
printf( "Update LR1110 to modem firmware 0x%06x\n", LR11XX_FIRMWARE_VERSION );
break;
}
}

while( 1 )
Expand Down

0 comments on commit 55808fe

Please sign in to comment.