Hi!
When compiling a simple sketch I got this error:
f:\IDE-PORTABLE\SketchBook\libraries\DALI-Lighting-Interface-main\qqqDALI.cpp: In member function 'uint8_t Dali::rx(uint8_t*)':
f:\IDE-PORTABLE\SketchBook\libraries\DALI-Lighting-Interface-main\qqqDALI.cpp:334:32: error: invalid conversion from 'volatile uint8_t*' {aka 'volatile unsigned char*'} to 'uint8_t*' {aka 'unsigned char*'} [-fpermissive]
334 | uint8_t dlen = _man_decode(rxdata,rxpos8,ddata);
| ^~~~~~
| |
| volatile uint8_t {aka volatile unsigned char*}
f:\IDE-PORTABLE\SketchBook\libraries\DALI-Lighting-Interface-main\qqqDALI.cpp:282:37: note: initializing argument 1 of 'uint8_t Dali::_man_decode(uint8_t*, uint8_t, uint8_t*)'
282 | uint8_t Dali::_man_decode( uint8_t *edata, uint8_t ebitlen, uint8_t *ddata) {
| ~~~~~~~~~^~~~~
Made change: in both qqqDALI.h and qqqDALI.cpp :
replace :
uint8_t _man_sample( uint8_t *edata, uint16_t bitpos, uint8_t *stop_coll);
uint8_t _man_decode( uint8_t *edata, uint8_t ebitlen, uint8_t *ddata);
with :
uint8_t _man_sample( volatile uint8_t *edata, uint16_t bitpos, uint8_t *stop_coll);
uint8_t _man_decode( volatile uint8_t *edata, uint8_t ebitlen, uint8_t *ddata);
solve the issues
Regards
Eric
Hi!
When compiling a simple sketch I got this error:
f:\IDE-PORTABLE\SketchBook\libraries\DALI-Lighting-Interface-main\qqqDALI.cpp: In member function 'uint8_t Dali::rx(uint8_t*)':
f:\IDE-PORTABLE\SketchBook\libraries\DALI-Lighting-Interface-main\qqqDALI.cpp:334:32: error: invalid conversion from 'volatile uint8_t*' {aka 'volatile unsigned char*'} to 'uint8_t*' {aka 'unsigned char*'} [-fpermissive]
334 | uint8_t dlen = _man_decode(rxdata,rxpos8,ddata);
| ^~~~~~
| |
| volatile uint8_t {aka volatile unsigned char*}
f:\IDE-PORTABLE\SketchBook\libraries\DALI-Lighting-Interface-main\qqqDALI.cpp:282:37: note: initializing argument 1 of 'uint8_t Dali::_man_decode(uint8_t*, uint8_t, uint8_t*)'
282 | uint8_t Dali::_man_decode( uint8_t *edata, uint8_t ebitlen, uint8_t *ddata) {
| ~~~~~~~~~^~~~~
Made change: in both qqqDALI.h and qqqDALI.cpp :
replace :
uint8_t _man_sample( uint8_t *edata, uint16_t bitpos, uint8_t *stop_coll);
uint8_t _man_decode( uint8_t *edata, uint8_t ebitlen, uint8_t *ddata);
with :
uint8_t _man_sample( volatile uint8_t *edata, uint16_t bitpos, uint8_t *stop_coll);
uint8_t _man_decode( volatile uint8_t *edata, uint8_t ebitlen, uint8_t *ddata);
solve the issues
Regards
Eric