Line 44... |
Line 44... |
#ifndef neorv32_neoled_h
|
#ifndef neorv32_neoled_h
|
#define neorv32_neoled_h
|
#define neorv32_neoled_h
|
|
|
// prototypes
|
// prototypes
|
int neorv32_neoled_available(void);
|
int neorv32_neoled_available(void);
|
void neorv32_neoled_setup_raw(uint32_t bs_config, uint32_t prsc, uint32_t t_total, uint32_t t_high_zero, uint32_t t_high_one);
|
void neorv32_neoled_setup(uint32_t prsc, uint32_t t_total, uint32_t t_high_zero, uint32_t t_high_one);
|
void neorv32_neoled_setup_ws2812(uint32_t bs_config);
|
void neorv32_neoled_setup_ws2812(void);
|
|
void neorv32_neoled_set_mode(uint32_t mode);
|
|
void neorv32_neoled_strobe_blocking(void);
|
|
void neorv32_neoled_strobe_nonblocking(void);
|
void neorv32_neoled_enable(void);
|
void neorv32_neoled_enable(void);
|
void neorv32_neoled_disable(void);
|
void neorv32_neoled_disable(void);
|
void neorv32_neoled_send_polling(uint32_t mode, uint32_t data);
|
void neorv32_neoled_write_blocking(uint32_t data);
|
void neorv32_neoled_send_direct(uint32_t mode, uint32_t data);
|
|
uint32_t neorv32_neoled_get_buffer_size(void);
|
uint32_t neorv32_neoled_get_buffer_size(void);
|
|
|
|
|
|
/**********************************************************************//**
|
|
* Send single RGB(W) data word to NEOLED module (non-blocking).
|
|
*
|
|
* @warning This function uses NO busy/flag checks at all!
|
|
*
|
|
* @param[in] data LSB-aligned 24-bit RGB or 32-bit RGBW data
|
|
**************************************************************************/
|
|
inline void __attribute__ ((always_inline)) neorv32_neoled_write_nonblocking(uint32_t data) {
|
|
|
|
NEOLED_DATA = data; // send new LED data
|
|
}
|
|
|
#endif // neorv32_neoled_h
|
#endif // neorv32_neoled_h
|
|
|
No newline at end of file
|
No newline at end of file
|