{embrace {me}}
This commit is contained in:
parent
f19b64b982
commit
772f2c3d17
1 changed files with 23 additions and 14 deletions
37
avr/main.c
37
avr/main.c
|
@ -186,17 +186,19 @@ int main() {
|
||||||
while (1) {
|
while (1) {
|
||||||
uint8_t c = uart_getchar(NULL);
|
uint8_t c = uart_getchar(NULL);
|
||||||
|
|
||||||
received++;
|
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case TABBY_COMMAND_NONE:
|
case TABBY_COMMAND_NONE: {
|
||||||
state = c;
|
state = c;
|
||||||
|
|
||||||
break;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
case TABBY_COMMAND_SEND:
|
case TABBY_COMMAND_SEND: {
|
||||||
if (received == 2 || received == 3) {
|
received++;
|
||||||
buffer.len = (buffer.len >> 8) | (c << 8);
|
|
||||||
|
if (received == 1 || received == 2) {
|
||||||
|
buffer.len <<= 8;
|
||||||
|
buffer.len |= c;
|
||||||
} else {
|
} else {
|
||||||
buffer.data[buffer.read++] = c;
|
buffer.data[buffer.read++] = c;
|
||||||
|
|
||||||
|
@ -206,33 +208,37 @@ int main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
case TABBY_COMMAND_CLOCK_SOURCE:
|
case TABBY_COMMAND_CLOCK_SOURCE:
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case TABBY_CLOCK_SOURCE_INTERNAL:
|
case TABBY_CLOCK_SOURCE_INTERNAL: {
|
||||||
source = c;
|
source = c;
|
||||||
|
|
||||||
setup_clock_internal(speed);
|
setup_clock_internal(speed);
|
||||||
|
|
||||||
goto reset;
|
goto reset;
|
||||||
|
}
|
||||||
|
|
||||||
case TABBY_CLOCK_SOURCE_EXTERNAL:
|
case TABBY_CLOCK_SOURCE_EXTERNAL: {
|
||||||
source = c;
|
source = c;
|
||||||
|
|
||||||
setup_clock_external();
|
setup_clock_external();
|
||||||
|
|
||||||
goto reset;
|
goto reset;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default: {
|
||||||
goto reset;
|
goto reset;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case TABBY_COMMAND_CLOCK_SPEED:
|
case TABBY_COMMAND_CLOCK_SPEED: {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case TABBY_CLOCK_SPEED_8192HZ:
|
case TABBY_CLOCK_SPEED_8192HZ:
|
||||||
case TABBY_CLOCK_SPEED_16384HZ:
|
case TABBY_CLOCK_SPEED_16384HZ:
|
||||||
case TABBY_CLOCK_SPEED_262144HZ:
|
case TABBY_CLOCK_SPEED_262144HZ:
|
||||||
case TABBY_CLOCK_SPEED_524288HZ:
|
case TABBY_CLOCK_SPEED_524288HZ: {
|
||||||
speed = c;
|
speed = c;
|
||||||
|
|
||||||
if (source == TABBY_CLOCK_SOURCE_INTERNAL) {
|
if (source == TABBY_CLOCK_SOURCE_INTERNAL) {
|
||||||
|
@ -240,13 +246,16 @@ int main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
goto reset;
|
goto reset;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
goto reset;
|
goto reset;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default: {
|
||||||
goto reset;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Add table
Reference in a new issue