Skip to content

Commit

Permalink
Release v3.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthieu Antoine committed Jul 29, 2021
1 parent 970cf02 commit c0ddbbb
Show file tree
Hide file tree
Showing 39 changed files with 1,954 additions and 1,651 deletions.
19 changes: 18 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,29 @@ 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).

## [v3.1.0] 2021-07-20

### Added

- `system_spi_read_with_dummy_byte()` function to ease LR1110 HAL implementation
- `lr1110_hal_direct_read()` - to replace `lr1110_hal_write_read()`

### Changed

- Upgraded LR1110 driver to v5.0.1
- `DeviceTransceiver::UpdateAlmanac()` now uses `lr1110_gnss_get_context_status()` instead of `lr1110_gnss_get_almanac_crc()` to check the status of the almanac update
- `lr1110_hal_read()` now uses `system_spi_read_with_dummy_byte()` instead of `system_spi_read()`

### Removed

- Call to `lr1110_wifi_cfg_hardware_debarker()` in `DemoTransceiverWifiInterface::SpecificRuntime()` (removed from the driver)
- `lr1110_hal_write_read()` - replaced by `lr1110_hal_direct_read()`

## [v3.0.1] 2021-05-11

### Added

- Modify `FieldTestPost` adding the `-f` flag to filter the jobs to solve based on job ID
- File upload and temperature demonstrations

### Changed

Expand Down
2 changes: 1 addition & 1 deletion embedded/application/inc/version_file.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@
#ifndef VERSION_H
#define VERSION_H

#define VERSION "v3.0.1"
#define VERSION "v3.1.0"

#endif // VERSION_H
7 changes: 3 additions & 4 deletions embedded/application/src/lr1110_hal.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ lr1110_hal_status_t lr1110_hal_read( const void* radio, const uint8_t* cbuffer,
/* 2nd SPI transaction */
system_gpio_set_pin_state( radio_local->nss, SYSTEM_GPIO_PIN_STATE_LOW );
system_spi_write( radio_local->spi, &dummy_byte, 1 );
system_spi_read( radio_local->spi, rbuffer, rbuffer_length );
system_spi_read_with_dummy_byte( radio_local->spi, rbuffer, rbuffer_length, LR1110_NOP );
system_gpio_set_pin_state( radio_local->nss, SYSTEM_GPIO_PIN_STATE_HIGH );

return LR1110_HAL_STATUS_OK;
Expand All @@ -94,15 +94,14 @@ lr1110_hal_status_t lr1110_hal_write( const void* radio, const uint8_t* cbuffer,
return LR1110_HAL_STATUS_OK;
}

lr1110_hal_status_t lr1110_hal_write_read( const void* radio, const uint8_t* cbuffer, uint8_t* rbuffer,
const uint16_t length )
lr1110_hal_status_t lr1110_hal_direct_read( const void* radio, uint8_t* buffer, const uint16_t length )
{
radio_t* radio_local = ( radio_t* ) radio;

system_gpio_wait_for_state( radio_local->busy, SYSTEM_GPIO_PIN_STATE_LOW );

system_gpio_set_pin_state( radio_local->nss, SYSTEM_GPIO_PIN_STATE_LOW );
system_spi_write_read( radio_local->spi, cbuffer, rbuffer, length );
system_spi_read_with_dummy_byte( radio_local->spi, buffer, length, LR1110_NOP );
system_gpio_set_pin_state( radio_local->nss, SYSTEM_GPIO_PIN_STATE_HIGH );

return LR1110_HAL_STATUS_OK;
Expand Down
1 change: 0 additions & 1 deletion embedded/demo/src/demo_transceiver_wifi_interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,6 @@ void DemoTransceiverWifiInterface::SpecificRuntime( )
{
this->SetWaitingForInterrupt( );

lr1110_wifi_cfg_hardware_debarker( this->device->GetRadio( ), true );
this->ExecuteScan( this->device->GetRadio( ) );

this->state = DEMO_WIFI_WAIT_FOR_SCAN;
Expand Down
10 changes: 6 additions & 4 deletions embedded/device/src/device_transceiver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ void DeviceTransceiver::UpdateAlmanac( const uint8_t* almanac_buffer, const uint
{
if( buffer_size == LR1110_GNSS_SINGLE_ALMANAC_WRITE_SIZE )
{
lr1110_gnss_one_satellite_almanac_update( this->radio, almanac_buffer );
lr1110_gnss_almanac_update( this->radio, almanac_buffer, 1 );
}
}

Expand Down Expand Up @@ -158,9 +158,11 @@ bool DeviceTransceiver::checkAlmanacUpdate( uint32_t expected_crc )
lr1110_gnss_read_results( this->radio, result_buffer, result_size );
if( ( result_buffer[0] == 0 ) && ( result_buffer[1] == 0 ) )
{
uint32_t actual_crc = 0;
lr1110_gnss_get_almanac_crc( this->radio, &actual_crc );
update_success = ( expected_crc == actual_crc );
lr1110_gnss_context_status_bytestream_t context_status_buffer;
lr1110_gnss_context_status_t context_status;
lr1110_gnss_get_context_status( this->radio, context_status_buffer );
lr1110_gnss_parse_context_status_buffer( context_status_buffer, &context_status );
update_success = ( expected_crc == context_status.global_almanac_crc );
}
else
{
Expand Down
38 changes: 38 additions & 0 deletions embedded/lr1110_driver/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,44 @@ 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).

## [v5.0.1] 2021-07-19

### Added

* [bootloader] `lr1110_bootloader_clear_reset_status_info()` function
* [crypto] Functions now return a status
* [GNSS] `lr1110_gnss_get_result_destination()` function
* [GNSS] `lr1110_gnss_almanac_update()` function - replaces `lr1110_gnss_almanac_full_update()` and `lr1110_gnss_one_satellite_almanac_update()` functions
* [HAL] `lr1110_hal_direct_read()` function - replaces `lr1110_hal_write_read()` function and no longer requires bidirectional SPI
* [HAL] `LR1110_NOP` constant
* [system] `lr1110_system_clear_reset_status_info()` function
* [system] `lr1110_system_drive_dio_in_sleep_mode()` function
* [Wi-Fi] `LR1110_WIFI_SCAN_MODE_UNTIL_SSID` entry in `lr1110_wifi_mode_t`
* [Wi-Fi] `lr1110_wifi_is_well_formed_utf8_byte_sequence()` function

### Changed

* [LICENSE] Revised BSD License changed to the Clear BSD License
* [GNSS] `LR1110_GNSS_ERROR_UPDATE_TIME_DIFFERENCE_OVER_1_MONTH` is renamed `LR1110_GNSS_ERROR_ALMANAC_UPDATE_NOT_ALLOWED` in `lr1110_gnss_error_code_t`
* [GNSS] `lr1110_gnss_parse_context_status_buffer()` returns a `lr1110_status_t` value
* [system] `lr1110_system_get_status()` function implementation uses `lr1110_hal_direct_read()` function and no longer requires bidirectional SPI
* [system] `lr1110_bootloader_get_status()` function implementation uses `lr1110_hal_direct_read()` function and no longer requires bidirectional SPI
* [system] `lr1110_system_get_irq_status()` function - has a faster implementation based on the `lr1110_system_get_status()` function

### Fixed

* [GNSS] Global almanac CRC endianness `lr1110_gnss_parse_context_status_buffer()`
* [GNSS] `lr1110_gnss_parse_context_status_buffer()` takes into account the message header
* [GNSS] Typo in `LR1110_GNSS_ALMANAC_REAC_RBUFFER_LENGTH` - now `LR1110_GNSS_ALMANAC_READ_RBUFFER_LENGTH`

### Removed

* [GNSS] `lr1110_gnss_get_almanac_crc()` - Almanac CRC can be read thanks to `lr1110_gnss_get_context_status()`
* [GNSS] `lr1110_gnss_almanac_full_update()` and `lr1110_gnss_one_satellite_almanac_update()` functions - merged in `lr1110_gnss_almanac_update()` function
* [HAL] `lr1110_hal_write_read()` function - replaced by `lr1110_hal_direct_read()` function
* [regmem] `lr1110_regmem_write_auxreg32()`and `lr1110_regmem_read_auxreg32()` functions
* [Wi-Fi] `lr1110_wifi_cfg_hardware_debarker()` function

## [v4.0.0] 2021-04-06

### Added
Expand Down
24 changes: 0 additions & 24 deletions embedded/lr1110_driver/LICENSE

This file was deleted.

27 changes: 27 additions & 0 deletions embedded/lr1110_driver/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
The Clear BSD License
Copyright Semtech Corporation 2021. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted (subject to the limitations in the disclaimer
below) provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the Semtech corporation nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.

NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEMTECH CORPORATION BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
12 changes: 6 additions & 6 deletions embedded/lr1110_driver/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This package proposes an implementation in C of the driver for **LR1110** radio

## Components

The driver is splitted in several components:
The driver is split in several components:

- Bootloader
- Register / memory access
Expand Down Expand Up @@ -54,8 +54,8 @@ Each component is based on different files:

The HAL (Hardware Abstraction Layer) is a collection of functions that the user shall implement to write platform-dependant calls to the host. The list of functions is the following:

- lr1110_hal_reset
- lr1110_hal_wakeup
- lr1110_hal_write
- lr1110_hal_read
- lr1110_hal_write_read
- lr1110_hal_reset()
- lr1110_hal_wakeup()
- lr1110_hal_write()
- lr1110_hal_read()
- lr1110_hal_direct_read()
Loading

0 comments on commit c0ddbbb

Please sign in to comment.