NEOLED: Change "variable style" by "pointer style"

This commit is contained in:
emb4fun 2023-02-27 12:22:18 +01:00
parent d9d141359b
commit bb0f00a4a0
No known key found for this signature in database
GPG key ID: F71BF3BCA38B40A7
4 changed files with 17 additions and 17 deletions

View file

@ -102,7 +102,7 @@ int main() {
// check NEOLED configuration
neorv32_uart0_printf("Checking NEOLED configuration:\n"
" Hardware FIFO size: %u entries\n"
" Control register: 0x%x\n\n", neorv32_neoled_get_buffer_size(), NEORV32_NEOLED.CTRL);
" Control register: 0x%x\n\n", neorv32_neoled_get_buffer_size(), NEORV32_NEOLED->CTRL);
// clear all LEDs

View file

@ -1247,7 +1247,7 @@ typedef struct __attribute__((packed,aligned(4))) {
**************************************************************************/
/**@{*/
/** NEOLED module prototype */
typedef struct __attribute__((packed,aligned(4))) {
typedef volatile struct __attribute__((packed,aligned(4))) {
uint32_t CTRL; /**< offset 0: control register */
uint32_t DATA; /**< offset 4: data register (#NEORV32_NEOLED_CTRL_enum) */
} neorv32_neoled_t;
@ -1256,7 +1256,7 @@ typedef struct __attribute__((packed,aligned(4))) {
#define NEORV32_NEOLED_BASE (0xFFFFFFD8U)
/** NEOLED module hardware access (#neorv32_neoled_t) */
#define NEORV32_NEOLED (*((volatile neorv32_neoled_t*) (NEORV32_NEOLED_BASE)))
#define NEORV32_NEOLED ((neorv32_neoled_t*) (NEORV32_NEOLED_BASE))
/** NEOLED control register bits */
enum NEORV32_NEOLED_CTRL_enum {

View file

@ -65,7 +65,7 @@ uint32_t neorv32_neoled_get_buffer_size(void);
**************************************************************************/
inline void __attribute__ ((always_inline)) neorv32_neoled_write_nonblocking(uint32_t data) {
NEORV32_NEOLED.DATA = data; // send new LED data
NEORV32_NEOLED->DATA = data; // send new LED data
}
#endif // neorv32_neoled_h

View file

@ -71,7 +71,7 @@ int neorv32_neoled_available(void) {
**************************************************************************/
void neorv32_neoled_setup(uint32_t prsc, uint32_t t_total, uint32_t t_high_zero, uint32_t t_high_one) {
NEORV32_NEOLED.CTRL = 0; // reset
NEORV32_NEOLED->CTRL = 0; // reset
// module enable
uint32_t ct_enable = 1 << NEOLED_CTRL_EN;
@ -89,7 +89,7 @@ void neorv32_neoled_setup(uint32_t prsc, uint32_t t_total, uint32_t t_high_zero,
uint32_t ct_t_one = (t_high_one & 0x1f) << NEOLED_CTRL_T_ONE_H_0;
// set new configuration
NEORV32_NEOLED.CTRL = ct_enable | ct_prsc | ct_t_total | ct_t_zero | ct_t_one;
NEORV32_NEOLED->CTRL = ct_enable | ct_prsc | ct_t_total | ct_t_zero | ct_t_one;
}
@ -161,10 +161,10 @@ void neorv32_neoled_setup_ws2812(void) {
**************************************************************************/
void neorv32_neoled_set_mode(uint32_t mode) {
uint32_t ctrl = NEORV32_NEOLED.CTRL;
uint32_t ctrl = NEORV32_NEOLED->CTRL;
ctrl &= ~(0b1 << NEOLED_CTRL_MODE); // clear current mode
ctrl |= ((mode & 1) << NEOLED_CTRL_MODE); // set new mode
NEORV32_NEOLED.CTRL = ctrl;
NEORV32_NEOLED->CTRL = ctrl;
}
@ -174,7 +174,7 @@ void neorv32_neoled_set_mode(uint32_t mode) {
void neorv32_neoled_strobe_blocking(void) {
while(1) { // wait for FIFO full flag to clear
if ((NEORV32_NEOLED.CTRL & (1 << NEOLED_CTRL_TX_FULL)) == 0) {
if ((NEORV32_NEOLED->CTRL & (1 << NEOLED_CTRL_TX_FULL)) == 0) {
break;
}
}
@ -189,11 +189,11 @@ void neorv32_neoled_strobe_blocking(void) {
void neorv32_neoled_strobe_nonblocking(void) {
const uint32_t mask = 1 << NEOLED_CTRL_STROBE; // strobe bit
uint32_t ctrl = NEORV32_NEOLED.CTRL;
uint32_t ctrl = NEORV32_NEOLED->CTRL;
NEORV32_NEOLED.CTRL = ctrl | mask; // set strobe bit
NEORV32_NEOLED.DATA = 0; // send any data to trigger strobe command
NEORV32_NEOLED.CTRL = ctrl & (~mask); // clear strobe bit
NEORV32_NEOLED->CTRL = ctrl | mask; // set strobe bit
NEORV32_NEOLED->DATA = 0; // send any data to trigger strobe command
NEORV32_NEOLED->CTRL = ctrl & (~mask); // clear strobe bit
}
@ -202,7 +202,7 @@ void neorv32_neoled_strobe_nonblocking(void) {
**************************************************************************/
void neorv32_neoled_enable(void) {
NEORV32_NEOLED.CTRL |= ((uint32_t)(1 << NEOLED_CTRL_EN));
NEORV32_NEOLED->CTRL |= ((uint32_t)(1 << NEOLED_CTRL_EN));
}
@ -211,7 +211,7 @@ void neorv32_neoled_enable(void) {
**************************************************************************/
void neorv32_neoled_disable(void) {
NEORV32_NEOLED.CTRL &= ~((uint32_t)(1 << NEOLED_CTRL_EN));
NEORV32_NEOLED->CTRL &= ~((uint32_t)(1 << NEOLED_CTRL_EN));
}
@ -225,7 +225,7 @@ void neorv32_neoled_disable(void) {
void neorv32_neoled_write_blocking(uint32_t data) {
while(1) { // wait for FIFO full flag to clear
if ((NEORV32_NEOLED.CTRL & (1 << NEOLED_CTRL_TX_FULL)) == 0) {
if ((NEORV32_NEOLED->CTRL & (1 << NEOLED_CTRL_TX_FULL)) == 0) {
break;
}
}
@ -241,7 +241,7 @@ void neorv32_neoled_write_blocking(uint32_t data) {
**************************************************************************/
uint32_t neorv32_neoled_get_buffer_size(void) {
uint32_t tmp = NEORV32_NEOLED.CTRL;
uint32_t tmp = NEORV32_NEOLED->CTRL;
tmp = tmp >> NEOLED_CTRL_BUFS_0;
tmp = tmp & 0xf; // isolate buffer size bits