Ron Evans
3ebf464da2
machine/samd21: I2C implementation
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-01-21 21:54:43 +01:00
Ron Evans
38c5e384af
machine/itsybitsy-m0: specify which pins to use for UART0
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-01-21 21:14:06 +01:00
Ron Evans
65ea74bd84
machine/atsamd21: implements UART0 using the SERCOM0 interface
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-01-21 21:14:00 +01:00
Ron Evans
8cbbbb0e76
machine/atsamd21: improve GPIO config to support all 32 pins on PORTA as well as correct handling for OUTPUT and SERCOM pin modes
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-01-20 18:42:52 +01:00
Ron Evans
e2be7ccf76
sam: add support for Atmel SAMD21 based ItsyBitsy M0
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-01-18 18:30:27 +01:00
Ron Evans
b8c326d710
machine/stm32f103xx: implmentation for I2C interface
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2019-01-10 16:10:25 +01:00
Ron Evans
dccfae485c
machine/stm32f103xx: support for SPI interface
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-12-31 14:59:07 +01:00
Ron Evans
f71e1bcf03
machine/stm32f103xx: implementation of RTC/TIM based timers
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-12-31 14:39:05 +01:00
Ron Evans
5ff5873fe6
machine/microbit: add default pin mappings for SPI bus
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-12-22 17:20:40 +01:00
Ron Evans
47b667a4b8
machine/stm32: add support for stm32f103xx UART
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-12-18 17:17:18 +01:00
Ayke van Laethem
9eaa6a7d7f
nrf: set interrupt priorities
...
The default priority is 0 (highest) which is reserved by the SoftDevice.
For normal operation the exact priority level doesn't matter, only the
relative priority matters. So this change makes the code compatible with
the SoftDevice without actually changing the behavior.
2018-12-03 13:50:41 +01:00
Ron Evans
7857c7235b
machine/nrf52840: add support for ADC and PWM interfaces
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-12-02 19:00:33 +01:00
Ron Evans
06ab3a836f
machine/nrf: SPI master implementation
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-12-02 13:26:08 +01:00
Ron Evans
8325f2a53d
reelboard: support Reel Board (nrf52840 dev board)
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-12-01 18:25:36 +01:00
Ron Evans
8f35a4711a
pca10056: support this nrf52840-based board
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-12-01 18:19:42 +01:00
Ron Evans
ce0ad1daa2
pca10031: add support for PCA10031 nrf51 wireless dongle
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-11-21 10:36:36 +01:00
Ayke van Laethem
bf4a43ef04
machine/avr: implement raw GPIO access for bitbanged drivers
2018-11-20 21:04:43 +01:00
Ayke van Laethem
9392ef900d
avr: add support for the digispark
...
Blinking the on-board LED works. Nothing else has been tested yet.
2018-11-20 18:50:24 +01:00
Ayke van Laethem
1ba463c7ee
machine: redesign I2C interface
2018-11-16 23:08:41 +01:00
Ayke van Laethem
c4ef2908ee
microbit: fix pin numbers for ADC and I2C
2018-11-11 19:23:09 +01:00
Ayke van Laethem
daf92226d8
nrf: add nrf52840-mdk board
...
With the help of Chillance on GitHub.
2018-10-18 15:07:06 +02:00
Ayke van Laethem
ccee42ec7a
machine: add helpers for bit-banged driver support
...
The returned pointer and value can be used to set or clear a specific
pin.
2018-10-15 19:56:27 +02:00
Ron Evans
ca13bfd992
microbit: add SetEntireLEDMatrixOn() function
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-10-08 20:38:21 +02:00
Ron Evans
c516a11004
microbit: add functions for LED matrix and correct button pin mapping
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-10-07 19:40:16 +02:00
Ayke van Laethem
bc9210b674
nrf: add micro:bit board
2018-10-06 13:04:14 +02:00
Ron Evans
e4fa1a8288
nrf: I2C interface
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-10-05 12:50:43 +02:00
Ron Evans
8f7b7e6ee3
nrf52: implement ADC and PWM interfaces
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-10-04 13:56:44 +02:00
Ayke van Laethem
3e98fbcdc8
avr: use machine.UART0 as stdout
2018-10-04 13:38:12 +02:00
Ron Evans
ef2ac09561
nrf: implement UART interface
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-10-02 17:08:31 +02:00
Ron Evans
4c8a725d78
avr: implement UART interface
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-10-01 12:02:59 +02:00
Ayke van Laethem
69f2cec045
avr: fix build for Arduino
...
I'm afraid I broke this while merging the I2S changes...
2018-09-25 14:32:02 +02:00
Ron Evans
12fb4f3f91
avr: i2c implementation with BlinkM example
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-09-25 14:00:01 +02:00
Ayke van Laethem
4d5b5241ec
all: avoid _Msk fields when not necessary
2018-09-22 17:42:44 +02:00
Ayke van Laethem
3bba26ce5b
machine/bluepill: create definitions for all pins
2018-09-22 15:47:16 +02:00
Ayke van Laethem
8f5bd81bf5
machine: split board definitions in separate files
2018-09-22 15:47:08 +02:00
Ayke van Laethem
dd5b5a381c
stm32: initial support
2018-09-22 01:51:44 +02:00
Ayke van Laethem
9fa08bf51d
all: use groupName in peripherals
...
This is needed for support for multiple instances of a peripheral type.
2018-09-21 22:24:41 +02:00
Ayke van Laethem
de694b5857
avr: set ADLAR bit in ADC to get a value scaled to 16-bit
2018-09-20 21:39:45 +02:00
Ron Evans
40f834d58f
avr: ADC with 0-1023 range
2018-09-20 21:39:45 +02:00
Ron Evans
fc0ff3a987
avr: initial implementation for PWM
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
Edited slightly by Ayke van Laethem
2018-09-17 14:03:05 +02:00
Ayke van Laethem
f41a8032e7
machine/dummy: add fake button pins
2018-09-14 17:01:16 +02:00
Ayke van Laethem
752332ff13
machine/nrf: implement reading GPIO pins
2018-09-14 16:59:28 +02:00
Ron Evans
ab6757fe11
avr: implement Get() function on AVR, and leave stubs for NRF and dummy machines
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-09-13 20:54:01 +02:00
Ron Evans
d948abdf82
avr: correct register for Set() operation on pins 0-7
...
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-09-13 12:03:04 +02:00
Ayke van Laethem
17b5b6ec5b
all: use less magic in memory-mapped IO
...
Don't store addresses in the values of registers, this leads to problems
with char arrays (among others). Instead, do it like it's done in C with
raw addresses cast to struct pointers.
This commit also splits gen-device.py, as AVR and ARM have very
different ideas of what a register is. It's easier to just keep them
separate.
2018-09-05 12:18:21 +02:00
Ayke van Laethem
abaae5b90d
Remove unnecessary compiler workaround
...
This workaround isn't needed anymore: the feature has been implemented
now.
2018-08-29 20:45:50 +02:00
Ayke van Laethem
7991243554
Remove CGo from machine module
...
It isn't necessary anymore but apparently the Go importer didn't
complain about an unused import.
2018-08-29 20:44:56 +02:00
Ayke van Laethem
62c4c5e90b
go fmt
2018-08-17 23:23:20 +02:00
Ayke van Laethem
90fb0ee4eb
Add AVR support
...
This requires support in LLVM, as AVR support is still experimental. For
example, in bindings/go/build.sh, add
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=AVR to cmake_flags.
2018-06-07 18:35:54 +02:00
Ayke van Laethem
89f77fa861
machine/dummy: Add LED1, LED2, etc to dummy machine
2018-06-03 16:42:09 +02:00