summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2024-01-27 08:44:27 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2024-01-27 08:44:27 +0100
commit7f98f3fd0d3c0f67cf77370f5480c43681424630 (patch)
treed7eb96ae8a1f823345622b1f33656bc420b3fa20
parent1def1219dcaaaa9a211e4d203812955e85e8a5d5 (diff)
README: Add Mega2560
-rw-r--r--README.md21
-rw-r--r--src/arch/atmega2560/Kconfig5
2 files changed, 21 insertions, 5 deletions
diff --git a/README.md b/README.md
index b413ad5..d5d6f93 100644
--- a/README.md
+++ b/README.md
@@ -5,13 +5,14 @@ architectures. As such, it does not provide multi-threading support or similar
conveniences. Its objective is similar to the Arduino environment: provide a
simple framework for embedded application/driver development and evaluation,
and get out of the way as much as possible. It favors simplicity over
-performance and abstraction. Re-using components outside of multipass should
-be fairly easy.
+performance and proper abstraction. Re-using components outside of multipass
+should be fairly easy.
Application, architecture, and drivers are configured using `make config` (X11,
kconfig-qconf) or `make nconfig` (Terminal, kconfig-nconf). Each application
must implement `int main(void)` and do everything itself from that point on.
-When the loop feature is enabled, `void loop(void)` must be implemented also.
+If the loop or wakeup features are enabled, `void loop(void)` or `void
+wakeup(void)` must be implemented as well.
## Getting Started
@@ -46,13 +47,25 @@ Peripheral communication:
* I²C (master only, interrupt-driven)
* SPI (master only, polling)
* UART (output polling, input interrupt-driven)
-* DMX (polling, via UART, overrides regular serial output)
+* DMX on USART1 / USART2 / USART3 (polling)
* NeoPixel/WS2812B (Adafruit driver)
Hardware features:
* ADC (partially)
+### ATMega2560
+
+Peripheral communication:
+
+* I²C (master only, interrupt-driven)
+* UART on USART0 / USART1 / USART2 / USART3 (output polling, input interrupt-driven)
+* DMX on USART1 / USART2 / USART3 (polling)
+
+Hardware features:
+
+* ADC (partially)
+
### MSP430FR5969, MSP430FR5994 (MSP430FR59xx Launchpad)
Peripheral communication:
diff --git a/src/arch/atmega2560/Kconfig b/src/arch/atmega2560/Kconfig
index 1c1f7f4..c02a909 100644
--- a/src/arch/atmega2560/Kconfig
+++ b/src/arch/atmega2560/Kconfig
@@ -27,7 +27,10 @@ select meta_driver_dmx
select meta_driver_dmx3
config arch_atmega2560_driver_i2c
-bool "I2C"
+bool "I²C on PD[01]"
+help
+ SDA: PD1
+ SCL: PD0
select meta_driver_hardware_i2c
select meta_driver_i2c