This patch declares the member tx_buffer_length of uart_control_block_t
to be a volatile variable. This variable might be set/read by main thread
and also cleared by IRQ context, which might lead to unexpected behaviour
when compiling with high optimization level (LTO + O3).
In certain cases nrfx_uarte_tx_in_progress() needs to always return true. Such
behavior was observed when nrfx was compiled with strong optimizations (-O3).
Marking tx_buffer_length as volatile solved the problem.
Tested on Linux with arm-none-eabi-gcc v8.2.0
This patch corrects a few things in nrfx_nfct that made it impossible
to compile this driver outside of the nRF5 SDK. These are:
- call to UNUSED_PARAMETER macro
- memcopy() used without including the proper header file
- call to NRF_LOG_INFO macro
Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
- Invalid macros for critical section were used in lines 1800 and 1811.
- Unused variable (uint8_t rb) warning if NRFX_USBD_PROTO1_FIX_DEBUG
is defined as 0
Signed-off-by: Paweł Zadrożniak <pawel.zadrozniak@nordicsemi.no>
Added 2 new functions: one for modifying only the event endpoint,
the other to modify only the task endpoint for a given channel.
Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
TXRX transfer was missing triggering RESUME task. When previous
transfer ended up without stop condition TWIM is in suspend state.
It is required to resume before starting next transfer.
Extend the CCM HAL so that all registers available for the CCM peripheral
can be accessed via this layer.
Add also proper documentation bindings for the new module.
This macro does the same thing that the nrfx_get_irq_number() function does.
The difference is that the macro can be used in places where a function call
is not suitable, e.g. in a structure initialization.
Added a function to enable several channels simultaneously.
Similar to the already existent nrf_ppi_channels_disable().
Signed-off-by: Alberto Escolar Piedras <alpi@oticon.com>
Commit fixes situation when Slave Select is set as unused. Configuration
value was not assign to field in control block and slave select field's
value remained zero. It caused pin toggling during SPI transmission when
GPIO 0 is configured as output.
In order to send and receive more than 255 bytes in one transaction
this patch increases the size of the length parameters such that
data buffers larger than 255 bytes can be transferred in a single
transaction.
Also, this patch increases the HW_TIMEOUT define by a multiple of 10
to make sure that large transactions are not stopped early by timeout.
Commit adds hardware access layer in nrf_ecb.h. Layer is similar to other
implementations to keep sources consistent. Documentation is aligned to
meet current implementation.
Previous implementation is kept and will be removed in next major release.
This patch updates the format used in NRFX_LOG* statements
with a %lu (long-unsigned) instead of %d (int) on the
places where a uint32_t is passed as argument.
This patch updates the format used in NRFX_LOG* statements with a %lu (long-unsigned)
instead of %d (int) on the places where a uint32_t is passed as argument.
This patch updates the format used in NRFX_LOG* statements with a %lu (long-unsigned)
instead of %d (int) on the places where a uint32_t is passed as argument.
Example error during compilation:
nrfx_rtc.c:324:24: error: format '%d' expects argument of type 'int',
but argument 3 has type 'uint32_t {aka long unsigned int}'