Kevin O'Connor
e26d1a3567
i2ccmds: Pass the i2c address as a 7-bit number (0-127)
...
The sam3 i2c code and the linux code use a 7-bit i2c address, while
the avr, lpc176x, and samd21 i2c code uses an 8-bit address with the
least significant bit always zero. A similar issue occurred in the
host code (sx1509.py and replicape.py use 7-bit addresses while
uc1701.py and mcp4451.py use 8-bit addresses).
Consistently use 7-bit addresses in all the code. This breaks
compatibility between host and mcu software, so make a change to the
config_i2c command to force users to synchronize software updates.
This also breaks common Smoothieboard configs, so update the mcp4451
code to validate the i2c_address.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 20:00:44 -05:00
Kevin O'Connor
8e0eb0d574
sam3: Implement board reset via SAM RSTC hardware
...
Use the RSTC hardware block to perform a full reset on a "reset"
command.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:34:31 -05:00
Kevin O'Connor
02c558652f
sam3: Add USB support for the SAM4 "UDP" hardware
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:34:31 -05:00
Kevin O'Connor
75ad16ea1a
sam3: Add support for sam4s8c chips
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:34:31 -05:00
Kevin O'Connor
bf196c3028
sam3: Add additional SPI and USART buses to spi.c
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:34:04 -05:00
Kevin O'Connor
212813906a
sam3: Merge sam4e_spi.c into spi.c
...
Determine at runtime if the SPI or USART devices should be used.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:33:26 -05:00
Kevin O'Connor
4683036f98
sam3: Add enable_pclock() helper function
...
Add a helper function to enable peripheral clocks.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:33:26 -05:00
Kevin O'Connor
b4baabe408
sam3: Enable i2c on sam3x8e
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:33:26 -05:00
Kevin O'Connor
94c86d6c6c
sam3: Merge sam4e8e support into sam3 code
...
Most of the peripherals on the sam4e8e are similar to the ones on the
sam3x8e mcu. Merge the code together and use just one code directory.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:33:26 -05:00
Kevin O'Connor
e278552d44
lib: Rename lib/cmsis-sam4e/ to lib/sam4e/
...
This is in preparation for merging the sam3 and sam4 code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:33:26 -05:00
Kevin O'Connor
70bbdf9334
sam3: Rename src/sam3x8e to src/sam3
...
This is in preparation for merging sam3 and sam4 code into one
directory.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:33:26 -05:00
Kevin O'Connor
e70b70fb75
sam4e8e: Move the sam4 cache setup to its own sam4_cache.c file
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
a978167e39
sam4e8e: Use just a single 'chan' member in 'struct gpio_adc'
...
Remove the 'pin' and 'afec' variables from 'struct gpio_adc'. This is
in preparation to merge the sam3x8e and sam4e8e code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
8e2c1a4ab2
sam4e8e: Move ADC code to new file afec.c
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
7707d5a74e
sam4e8e: Rename gpio_set_peripheral() to gpio_peripheral()
...
Use the same definition for gpio_peripheral() that the sam3x8e code
uses.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
f0715de004
sam4e8e: Move gpio_set_peripheral() definition from gpio.h to internal.h
...
Use internal.h in a similar way to the internal.h in sam3x8e. Also,
move the twi pin definitions from internal.h to i2c.c (as they are only
used there).
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
9a2160f660
sam3x8e: Move adc support to a new adc.c file
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
5b91c7a68d
sam3x8e: Pass the gpio id directly to gpio_peripheral()
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
ecba3e9a19
sam3x8e: Add an internal.h header file with local definitions
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
c3a2fc981d
lib: Remove sam4e sam.h and component-version.h files
...
These two files from atmel have different licenses than the other
files. Neither files provide any real value, so just remove them to
avoid any confusion.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
22da8ca39c
usb_cdc: Notify both the bulk_in and bulk_out tasks on a configure
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:30:17 -05:00
Kevin O'Connor
6e18af7057
stm32f1: It's only necessary to program the CR1 register during SPI init
...
Only set the CR1 register during spi_prepare().
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-07 19:22:14 -05:00
Kevin O'Connor
277a8185e1
lpc176x: Pass gpio id to gpio_peripheral()
...
Pass the gpio id instead of the bank/pin to gpio_peripheral(). This
is in keeping with other ARM ports.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-04 11:07:22 -05:00
Kevin O'Connor
a40df4b6f7
lpc176x: Move enable_peripheral_clock to main.c
...
Move and rename function to enable_pclock() - in keeping with other
ARM ports.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-04 11:00:09 -05:00
Kevin O'Connor
8f7fc4e6a9
lpc176x: Move ADC code to new adc.c file
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2019-01-04 10:42:36 -05:00
Kevin O'Connor
62fc5dc288
samd21: Add support for entering Arduino bootloader via USB
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-12-24 11:43:11 -05:00
Kevin O'Connor
b84ecebf8f
usb_cdc: Add support for detecting a USB level Arduino bootloader request
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-12-24 11:42:19 -05:00
Kevin O'Connor
2a74ffdb95
samd21: Add support for ADC
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-12-22 10:58:04 -05:00
Yannic Schroeder
f100d75c19
stm32f1: Always read SPI receive buffer
...
Otherwise the first byte read via SPI may be the last byte
of the previous transfer
Signed-off-by: Yannic Schroeder <schroeder@ibr.cs.tu-bs.de>
2018-12-14 12:25:35 -05:00
Kevin O'Connor
6df7356baa
samd21: Fix gpio in support
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 23:10:23 -05:00
Kevin O'Connor
e505ab0df1
samd21: Add support for flashing an application via the bossac tool
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 22:22:42 -05:00
Kevin O'Connor
f2179da8ad
samd21: Add support for hardware pwm
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 20:00:59 -05:00
Kevin O'Connor
0fd2dd7c11
samd21: Minor simplification to timer init code
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:50:50 -05:00
Kevin O'Connor
d6f3f6b664
samd21: Add support for SPI
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:50:50 -05:00
Kevin O'Connor
58d61c7887
samd21: Add support for basic i2c support (write only)
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:50:50 -05:00
Kevin O'Connor
6d90ebe6f8
samd21: Use GPIO() macro when calling gpio_peripheral()
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:50:50 -05:00
Kevin O'Connor
0af0bc946e
samd21: Enable watchdog
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:50:50 -05:00
Kevin O'Connor
afa58de014
samd21: Try to clarify the "generic clock generator" configuration
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:50:50 -05:00
Kevin O'Connor
3a47d972db
i2ccmds: Validate the i2c address
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:50:50 -05:00
Kevin O'Connor
db4f0c24cd
spicmds: Check for an incorrect mode in spicmds.c
...
Check the mode parameter in spicmds.c so that the mcu code does not
need to check it.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:50:48 -05:00
Kevin O'Connor
6b108aa885
stm32f1: Move ADC and SPI code from gpio.c to spi.c and adc.c
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-30 11:42:54 -05:00
Kevin O'Connor
729a2e8306
avr: Add support for sending I2C messages
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-23 23:49:26 -05:00
Kevin O'Connor
043170265b
i2ccmds: Minor whitespace changes
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-23 21:36:44 -05:00
Kevin O'Connor
cbbc6801a0
lpc176x: Enable full speed peripheral clocks on SPI and I2C
...
Scale the bus speed within the peripheral instead of on the system bus
as scaling on the system bus slows down general register access to the
peripheral.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-21 20:44:39 -05:00
Kevin O'Connor
4bbd631086
lpc176x: Add an enable_peripheral_clock() helper function
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-21 20:44:18 -05:00
Kevin O'Connor
7bb9ce8436
avr: Minor comment update in hard_pwm.c
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-20 13:14:53 -05:00
Kevin O'Connor
7c65e76ad0
avr: Rework hardware pwm pin definitions
...
Simultaneously define the hardware pin and the timer registers. This
makes the table a little easier to understand.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-20 12:58:33 -05:00
Kevin O'Connor
bf92ffb5bf
avr: Split gpio.c into gpio.c, adc.c, hard_pwm.c, and spi.c
...
Split up gpio.c into multiple files in an effort to make the code a
little more understandable.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-20 12:58:33 -05:00
Kevin O'Connor
2cc0313b72
avr: Add initial support for atmega32u4 chips
...
Signed-off-by: Trevor Jones <trevorjones141@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-20 12:58:33 -05:00
Kevin O'Connor
31687bc009
avr: Minor update to help text in Kconfig
...
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2018-11-19 22:05:26 -05:00