1614 with DMXserial library #462
Replies: 4 comments 4 replies
-
Excellent news: That library already supports the modern AVR architecture. It just makes some bad assumptions (mainly that there's more than 1 serial port, I'll bet it would come a lot closert to compiling - or might even build straight up - for the 1624 just because of the second serial port. I forked it and took a quick stab at it. For parts other than the 4809, you'd wantto examine DMXSerial_megaavr.h and adjust it to match your needs. |
Beta Was this translation helpful? Give feedback.
-
Thanks for looking into it! I'll see if can have time to test it today. |
Beta Was this translation helpful? Give feedback.
-
So I got some 1624 just to give it a try. I'm getting new but much less compiling errors. Seems a little more promising. Hoping these are easy fixes. `Arduino: 1.8.13 (Windows 10), Board: "ATtiny3224/1624/1614/1604/824/814/804/424/414/404/214/204, ATtiny1624, 20 MHz internal, 1.8V (5 MHz or less), Disabled/Disabled, EEPROM retained, TCB1 (1614, 2-series only), UPDI (no reset pin), 8ms, Ignore (saves flash, almost always fine)" In file included from C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial.cpp:69:0: C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h: In function 'void _DMX_init()': C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:32:26: error: 'SIGROW_t {aka struct SIGROW_struct}' has no member named 'OSC16ERR5V' int8_t oscErr = SIGROW.OSC16ERR5V;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:47:26: error: 'PORTMUX_USART1_ALT1_gc' was not declared in this scope PORTMUX.USARTROUTEA |= PORTMUX_USART1_ALT1_gc;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:47:26: note: suggested alternative: 'PORTMUX_USART0_ALT1_gc' PORTMUX.USARTROUTEA |= PORTMUX_USART1_ALT1_gc;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:53:11: error: 'PIN_WIRE_HWSERIAL1_RX' was not declared in this scope pinMode(PIN_WIRE_HWSERIAL1_RX, INPUT_PULLUP);
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:53:11: note: suggested alternative: 'PIN_HWSERIAL1_RX' pinMode(PIN_WIRE_HWSERIAL1_RX, INPUT_PULLUP);
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:54:11: error: 'PIN_WIRE_HWSERIAL1_TX' was not declared in this scope pinMode(PIN_WIRE_HWSERIAL1_TX, OUTPUT);
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:54:11: note: suggested alternative: 'PIN_HWSERIAL1_TX' pinMode(PIN_WIRE_HWSERIAL1_TX, OUTPUT);
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h: In function 'void _DMX_setMode(DMXUARTMode)': C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:97:13: error: 'PIN_WIRE_HWSERIAL1_TX' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:97:13: note: suggested alternative: 'PIN_HWSERIAL1_TX'
exit status 1 Error compiling for board ATtiny3224/1624/1614/1604/824/814/804/424/414/404/214/204. This report would have more information with |
Beta Was this translation helpful? Give feedback.
-
Thanks for clearing that up for me. I set up your version and altered the parameters for the chip I'm using. Still getting errors messages. I was able to solve the simple one of a definition missing. But the other ones have me kind of stumped, especially the SIGROW issue. Really, thank you for taking the time to help out. `Arduino: 1.8.15 (Windows 10), Board: "ATtiny3224/1624/1614/1604/824/814/804/424/414/404/214/204, ATtiny1624, 16 MHz internal, 1.8V (5 MHz or less), Disabled/Disabled, EEPROM retained, Enabled (default timer), UPDI (no reset pin), 8ms, Ignore (saves flash, almost always fine)" In file included from C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial.cpp:69:0: C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h: In function 'void _DMX_init()': C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:85:30: error: 'SIGROW_t {aka struct SIGROW_struct}' has no member named 'OSC16ERR5V'
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:91:5: error: '_DMX_dmxDivider' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:95:5: error: '_DMX_breakDivider' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:33:26: error: 'PORTMUX_USART1_ALT1_gc' was not declared in this scope #define _DMX_USARTMUXOPT PORTMUX_USART1_ALT1_gc
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:112:28: note: in expansion of macro '_DMX_USARTMUXOPT'
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:33:26: note: suggested alternative: 'PORTMUX_USART0_ALT1_gc' #define _DMX_USARTMUXOPT PORTMUX_USART1_ALT1_gc
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:112:28: note: in expansion of macro '_DMX_USARTMUXOPT'
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h: In function 'void _DMX_setMode(DMXUARTMode)': C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:147:34: error: '_DMX_dmxDivider' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:153:34: error: '_DMX_dmxDivider' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:163:34: error: '_DMX_breakDivider' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:173:34: error: '_DMX_dmxDivider' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerialTINYmaster\src\DMXSerial_megaavr.h:178:34: error: '_DMX_dmxDivider' was not declared in this scope
exit status 1 Error compiling for board ATtiny3224/1624/1614/1604/824/814/804/424/414/404/214/204. This report would have more information with |
Beta Was this translation helpful? Give feedback.
-
I've got a attiny1614 and would like to use the DMXserial library. Quickly found out from all the compiling errors that it doesn't work. Would anyone know if this is an easy port over or would it take a skilled hand? BTW I'm somewhat of a novice so unless its just changing a few things in the .h file its probably far beyond my skill level. Here are the error messages I'm getting.
`Arduino: 1.8.13 (Windows 10), Board: "ATtiny1614/1604/814/804/414/404 w/Optiboot, ATtiny1614, 20 MHz internal, Enabled (default timer), 1.8V (5 MHz or less), Disabled/Disabled, Ignore (saves flash, almost always fine), TX:5 (PB2), RX:4 (PB3), UPDI, Optiboot for 8 sec. after power-on & reset, 8ms"
In file included from C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial.cpp:69:0:
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h: In function 'void _DMX_init()':
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:47:11: error: 'PORTMUX_t {aka struct PORTMUX_struct}' has no member named 'USARTROUTEA'
PORTMUX.USARTROUTEA |= PORTMUX_USART1_ALT1_gc;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:47:26: error: 'PORTMUX_USART1_ALT1_gc' was not declared in this scope
PORTMUX.USARTROUTEA |= PORTMUX_USART1_ALT1_gc;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:47:26: note: suggested alternative: 'PORTMUX_USART0_DEFAULT_gc'
PORTMUX.USARTROUTEA |= PORTMUX_USART1_ALT1_gc;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:50:4: error: 'USART1' was not declared in this scope
(USART1).CTRLB = USART_RXMODE_NORMAL_gc;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:50:4: note: suggested alternative: 'USART0'
(USART1).CTRLB = USART_RXMODE_NORMAL_gc;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:53:11: error: 'PIN_WIRE_HWSERIAL1_RX' was not declared in this scope
pinMode(PIN_WIRE_HWSERIAL1_RX, INPUT_PULLUP);
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:53:11: note: suggested alternative: 'PIN_HWSERIAL0_RX'
pinMode(PIN_WIRE_HWSERIAL1_RX, INPUT_PULLUP);
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:54:11: error: 'PIN_WIRE_HWSERIAL1_TX' was not declared in this scope
pinMode(PIN_WIRE_HWSERIAL1_TX, OUTPUT);
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:54:11: note: suggested alternative: 'PIN_HWSERIAL0_TX'
pinMode(PIN_WIRE_HWSERIAL1_TX, OUTPUT);
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h: In function 'void _DMX_setMode(DMXUARTMode)':
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:74:6: error: 'USART1' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:74:6: note: suggested alternative: 'USART0'
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:78:6: error: 'USART1' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:78:6: note: suggested alternative: 'USART0'
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:84:6: error: 'USART1' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:84:6: note: suggested alternative: 'USART0'
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:91:6: error: 'USART1' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:91:6: note: suggested alternative: 'USART0'
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:97:13: error: 'PIN_WIRE_HWSERIAL1_TX' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:97:13: note: suggested alternative: 'PIN_HWSERIAL0_TX'
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:103:6: error: 'USART1' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:103:6: note: suggested alternative: 'USART0'
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:109:6: error: 'USART1' was not declared in this scope
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:109:6: note: suggested alternative: 'USART0'
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h: In function 'void _DMX_flush()':
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:123:23: error: 'USART1' was not declared in this scope
uint8_t voiddata = (USART1).RXDATAL;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:123:23: note: suggested alternative: 'USART0'
uint8_t voiddata = (USART1).RXDATAL;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h: In function 'void _DMX_writeByte(uint8_t)':
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:131:4: error: 'USART1' was not declared in this scope
(USART1).TXDATAL = data;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:131:4: note: suggested alternative: 'USART0'
(USART1).TXDATAL = data;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h: In function 'void USART1_RXC_vect()':
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:140:25: error: 'USART1' was not declared in this scope
register8_t rxferr = (USART1).RXDATAH & USART_FERR_bm;
C:\Users\Documents\Arduino\libraries\DMXSerial\src\DMXSerial_megaavr.h:140:25: note: suggested alternative: 'USART0'
register8_t rxferr = (USART1).RXDATAH & USART_FERR_bm;
`
Beta Was this translation helpful? Give feedback.
All reactions