Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
439 commits
Select commit Hold shift + click to select a range
7cdf3ac
Merge remote-tracking branch 'refs/remotes/rogerclarkmelbourne/master'
stevstrong Jul 7, 2017
27de006
Merge pull request #11 from rogerclarkmelbourne/master
victorpv Jul 7, 2017
8683035
Update usb_serial.h
victorpv Jul 8, 2017
1c07e25
Update usb_serial.h
victorpv Jul 8, 2017
fd95b99
Added readBytes function to usbSerial
victorpv Jul 8, 2017
5a442ac
Merge pull request #308 from victorpv/master
rogerclarkmelbourne Jul 10, 2017
d49df93
Merge pull request #12 from rogerclarkmelbourne/master
victorpv Jul 10, 2017
b892004
Add files via upload
victorpv Jul 10, 2017
910072c
Changes tabs for spaces.
victorpv Jul 10, 2017
0393be3
Added setClock() to Wire and Hardware - only 100000Hz and 400000Hz ar…
rogerclarkmelbourne Jul 15, 2017
8bf5f62
Merge branch 'work' of https://github.com/stevstrong/Arduino_STM32 in…
rogerclarkmelbourne Jul 15, 2017
bb8f6ca
Merge branch 'merge_stevstrong'
rogerclarkmelbourne Jul 15, 2017
0f3c6e5
Merge pull request #278 from syfre/master
rogerclarkmelbourne Jul 15, 2017
b5eadb8
Merge pull request #312 from victorpv/SPI-Callbacks
rogerclarkmelbourne Jul 15, 2017
e518b74
Merge branch 'master' into patch-4
Testato Jul 16, 2017
80cdaba
Merge pull request #303 from Testato/patch-4
rogerclarkmelbourne Jul 16, 2017
43299e4
Merge pull request #236 from Testato/patch-1
rogerclarkmelbourne Jul 16, 2017
4bfb444
added teensy like ide compiler opts menus
mtiutiu Jul 17, 2017
4f3c4da
added missing menu opts for F3/F4 boards
mtiutiu Jul 17, 2017
20fa1df
Merge remote-tracking branch 'refs/remotes/rogerclarkmelbourne/master'
stevstrong Jul 18, 2017
c37f220
Merge pull request #220 from stevstrong/master
rogerclarkmelbourne Jul 19, 2017
01de9ee
Fixed headings
hemalchevli Jul 19, 2017
7fbc4b1
Merge pull request #314 from hemalchevli/master
rogerclarkmelbourne Jul 19, 2017
e8a195d
Merge remote-tracking branch 'refs/remotes/rogerclarkmelbourne/master'
stevstrong Jul 19, 2017
8b4af36
Merge remote-tracking branch 'refs/remotes/rogerclarkmelbourne/master'
stevstrong Jul 19, 2017
b29fed8
reworked RTC - no need for extra time library
stevstrong Jul 19, 2017
2450609
Merge pull request #315 from stevstrong/RTC_F4
rogerclarkmelbourne Jul 19, 2017
6b85615
Change Wire endTransmission to have bool instead of unit8 argument - …
rogerclarkmelbourne Jul 20, 2017
19aa9cc
Merge remote-tracking branch 'refs/remotes/rogerclarkmelbourne/master…
stevstrong Jul 26, 2017
f8be57c
Merge remote-tracking branch 'refs/remotes/rogerclarkmelbourne/master'
stevstrong Jul 26, 2017
979fc87
Merge remote-tracking branch 'refs/remotes/rogerclarkmelbourne/master'
stevstrong Jul 26, 2017
359db54
Merge branch 'refs/heads/RTC_F4'
stevstrong Jul 26, 2017
0db43ae
SPI clean up + add 16 bit access functions in 8 bit mode
stevstrong Jul 28, 2017
a4d88f7
Merge branch 'stevstrong-SPI_write16'
rogerclarkmelbourne Jul 29, 2017
0696f70
Merge branch 'mtiutiu/compiler_opts_menus' of https://github.com/mtiu…
rogerclarkmelbourne Jul 30, 2017
0aae3d3
Changed order of optimisation options, so that current settings (-Os)…
rogerclarkmelbourne Jul 30, 2017
3f7eb8e
Merge branch 'mtiutiu-mtiutiu/compiler_opts_menus'
rogerclarkmelbourne Jul 30, 2017
a683dfc
revert changes to STM32F3/platform.txt and STM32F4/platform.txt as th…
rogerclarkmelbourne Jul 30, 2017
86d823a
Fixed typo in optimisation menu
rogerclarkmelbourne Jul 30, 2017
7aae010
Fixed yet another of my typos in the optimisation menu
rogerclarkmelbourne Jul 30, 2017
cb901b4
Added CPU Speed menu to all boards except Nucleo RB, with additional …
rogerclarkmelbourne Jul 30, 2017
375a8f8
Fixed typo in F1 boards.txt for STM32F103CB RAM size
rogerclarkmelbourne Jul 30, 2017
14ddcfd
Changed text on 128Mhz CPU speed option - to add warning that there i…
rogerclarkmelbourne Jul 31, 2017
7d1119e
Removed Debug with LTO optimisation option, to fix issue #320
rogerclarkmelbourne Jul 31, 2017
ac27993
Added makeWord macro and functions to fix #316
rogerclarkmelbourne Jul 31, 2017
c0f655f
added menu optimizations support for F3/F4 boards
mtiutiu Jul 31, 2017
87e0a3e
Merge pull request #321 from mtiutiu/mtiutiu/compiler_opts_menus
rogerclarkmelbourne Jul 31, 2017
bc41851
Changed default Wire (I2C) to use hardware I2C rather than bit banged…
rogerclarkmelbourne Aug 1, 2017
859a447
linux fix for gd32 variant in boards.txt
mtiutiu Aug 1, 2017
ea8622c
Merge pull request #322 from mtiutiu/mtiutiu/gd32_variant_linux_fix
rogerclarkmelbourne Aug 1, 2017
0a9d06b
Fix typo in dma.h (thanks to @stevestrong)
rogerclarkmelbourne Aug 2, 2017
1ea988a
Correcting FreeRTOS900 examples
victorpv Aug 3, 2017
db9a70c
Correcting FreeRTOS900 example.
victorpv Aug 3, 2017
df9476c
Merge pull request #325 from victorpv/patch-1
rogerclarkmelbourne Aug 4, 2017
8f7a0b6
Added pushColors() to ILI9341 library to better support the OV7670 ca…
rogerclarkmelbourne Aug 4, 2017
33411b6
Default Wire to 100khz
rogerclarkmelbourne Aug 6, 2017
a9767e4
Adding new.cpp as in F1 core.
victorpv Aug 18, 2017
30e5aea
Merge pull request #327 from victorpv/patch-2
rogerclarkmelbourne Aug 19, 2017
71d5ab9
Wire lib change buffer size definition to BUFFER_LENGTH for better AV…
rogerclarkmelbourne Aug 25, 2017
5058d8f
Removed support for GD32 - by removing entry from boards.txt
rogerclarkmelbourne Aug 26, 2017
47c94bc
Update Arduino IDE version in readme
rogerclarkmelbourne Aug 26, 2017
e6ed2d5
Update RTClock.cpp
stevstrong Aug 29, 2017
fbe6264
Rewrite the RTClock library.
csnol Aug 29, 2017
27f8e12
Create a RTC example for new library.
csnol Aug 29, 2017
6e92ddd
Add STM32F103-RTC-Serial-Set.jpg
csnol Aug 29, 2017
6c0be70
Update RTClock.cpp
csnol Aug 30, 2017
d53cacd
Update RTClock.cpp
csnol Aug 30, 2017
f12bad6
add JLink upload support for OSX
janchrillesen Aug 31, 2017
5d4cbff
Merge pull request #337 from janchrillesen/master
rogerclarkmelbourne Aug 31, 2017
58e50e7
Add partial support for a DFU bootloader for the F4
rogerclarkmelbourne Sep 3, 2017
23fa7b7
Merge branch 'master' of https://github.com/rogerclarkmelbourne/Ardui…
rogerclarkmelbourne Sep 3, 2017
b1e1782
Fix for map() function - supplied by @Pito
rogerclarkmelbourne Sep 3, 2017
56abaa3
Correction to upload issue in Sloeber
victorpv Sep 4, 2017
81100be
Updated readme
rogerclarkmelbourne Sep 5, 2017
f769556
F1 SDIO initial version
victorpv Sep 12, 2017
434cb25
F1 SDIO
victorpv Sep 12, 2017
7e1cc92
SDIO
victorpv Sep 12, 2017
8929bbb
F1 SDIO
victorpv Sep 12, 2017
1db95cf
F1 SDIO
victorpv Sep 12, 2017
799f2b3
Correct issue with port speed not changing.
victorpv Sep 12, 2017
a530b6a
Update Wire.cpp
victorpv Sep 12, 2017
7752fc6
add attachAlarmInterrupt() detachAlarmInterrupt()
csnol Sep 12, 2017
a87ad87
add attachAlarmInterrupt and detachAlarmInterrupt
csnol Sep 12, 2017
30f8527
added TimeZone(time_t xxx, timezone);
csnol Sep 13, 2017
6be069c
change TZ from unit_8 to int, negatives timezone
csnol Sep 13, 2017
ed797d4
Tested on BluePill for new function of RTC
csnol Sep 13, 2017
2d6abe6
Add keywords for new functions
csnol Sep 14, 2017
fa7bcde
Update example for Chinese friends. timezone and filename error
csnol Sep 14, 2017
c25957e
Add removeAlarm function
csnol Sep 14, 2017
a706616
Merge pull request #340 from victorpv/patch-4
rogerclarkmelbourne Sep 17, 2017
f0ddda0
Merge branch 'patch-2' of https://github.com/victorpv/Arduino_STM32 i…
rogerclarkmelbourne Sep 17, 2017
5c63db7
Merge branch 'victorpv-patch-2'
rogerclarkmelbourne Sep 17, 2017
ed7560e
Merge pull request #338 from victorpv/patch-2
rogerclarkmelbourne Sep 17, 2017
9b70d11
Merge branch 'master' of https://github.com/rogerclarkmelbourne/Ardui…
rogerclarkmelbourne Sep 17, 2017
f84f73c
Create hooks.c
stevstrong Sep 19, 2017
f8d28b8
Removed unused cygwin dll's from tools/win
rogerclarkmelbourne Sep 21, 2017
43129d1
Update graphicstest.ino
stevstrong Sep 22, 2017
6b2ca7d
Update onoffbutton.ino
stevstrong Sep 22, 2017
5c1708e
Update onoffbutton_breakout.ino
stevstrong Sep 22, 2017
db000d1
Update spitftbitmap.ino
stevstrong Sep 22, 2017
c6c53b7
Update touchpaint.ino
stevstrong Sep 22, 2017
7fda02a
SPI add const qualifier
greiman Sep 22, 2017
f65e690
Removed non standard functionality from Print class for BYTE "base" a…
sweetlilmre Sep 28, 2017
31fa24b
Update to util_adc.c file to pass pointer correctly.
victorpv Oct 4, 2017
ac7ccee
Update touchpaint.ino
stevstrong Oct 4, 2017
308b5c4
Update boards.cpp
stevstrong Oct 6, 2017
fd7bd95
Merge pull request #354 from stevstrong/patch-9
rogerclarkmelbourne Oct 7, 2017
14a5582
Merge pull request #353 from victorpv/patch-2
rogerclarkmelbourne Oct 7, 2017
347a1e3
Merge pull request #352 from sweetlilmre/master
rogerclarkmelbourne Oct 7, 2017
9e539ce
Merge branch 'SPI_const_qualifier' of https://github.com/greiman/Ardu…
rogerclarkmelbourne Oct 7, 2017
fec8ecc
Merge branch 'greiman-SPI_const_qualifier'
rogerclarkmelbourne Oct 8, 2017
f7759f8
Merge pull request #350 from stevstrong/patch-8
rogerclarkmelbourne Oct 8, 2017
dcfa250
Merge pull request #349 from stevstrong/patch-7
rogerclarkmelbourne Oct 8, 2017
d9d6e9e
Merge pull request #348 from stevstrong/patch-6
rogerclarkmelbourne Oct 8, 2017
0ca038d
Merge pull request #347 from stevstrong/patch-5
rogerclarkmelbourne Oct 8, 2017
6ce1fd2
Merge pull request #346 from stevstrong/patch-4
rogerclarkmelbourne Oct 8, 2017
c12ad24
Merge pull request #342 from stevstrong/patch-3
rogerclarkmelbourne Oct 8, 2017
b4aa24e
Merge pull request #339 from victorpv/patch-3
rogerclarkmelbourne Oct 8, 2017
de23686
Merge pull request #333 from stevstrong/patch-2
rogerclarkmelbourne Oct 8, 2017
84d9c2b
Fixed issue in OLED_I2C lib caused by change to HardWire as default I2C
rogerclarkmelbourne Oct 8, 2017
3c2fce6
Update ILI9341 STM lib with version from SteveStrong, and also added …
rogerclarkmelbourne Oct 8, 2017
05f008a
Merge pull request #334 from csnol/master
rogerclarkmelbourne Oct 10, 2017
a89d0b9
Half-hour TimeZone supported
csnol Oct 18, 2017
9f5cdd2
updated
csnol Oct 18, 2017
80ae49d
Added missing SDIO pins for F103V and F103Z
Squonk42 Oct 18, 2017
cd7b7d7
Merge pull request #360 from Squonk42/master
rogerclarkmelbourne Oct 18, 2017
c741afa
Update TimeZone function
csnol Oct 19, 2017
4870e27
Update
csnol Oct 19, 2017
588f9db
update
csnol Oct 19, 2017
a03c84a
Merge pull request #362 from csnol/master
rogerclarkmelbourne Oct 31, 2017
4a3e239
Added DMA enable and disable functions to hardware timers, thanks to …
rogerclarkmelbourne Oct 31, 2017
44d5894
Merge branch 'master' of https://github.com/rogerclarkmelbourne/Ardui…
rogerclarkmelbourne Oct 31, 2017
e14c83f
Update tone.cpp
stevstrong Nov 1, 2017
7ee4350
Merge pull request #369 from stevstrong/patch-2
rogerclarkmelbourne Nov 2, 2017
2c33a02
Correct argument type bug in utoa (itoa.c itoa.h) See PR #271
rogerclarkmelbourne Nov 2, 2017
15ce813
Update BlinkNcount.ino
LightningStalker Nov 6, 2017
15d12be
Update BlinkNcount.c
LightningStalker Nov 7, 2017
c5ed889
Changed serial upload speed to 115200 as this speed is compatible wit…
rogerclarkmelbourne Nov 8, 2017
de56edb
Merge pull request #1 from rogerclarkmelbourne/master
LightningStalker Nov 10, 2017
fd00f02
Update BlinkNcount.ino to use LED_BUILTIN
LightningStalker Nov 10, 2017
9b4122e
Fixed exmple for HardTimerAsEncoder being in wrong location
rogerclarkmelbourne Nov 13, 2017
c5caa5d
Fixed missing definition of digitalPinToInterrupt, by adding macro wh…
rogerclarkmelbourne Nov 13, 2017
c66ca2a
Fixed #273
rogerclarkmelbourne Nov 13, 2017
dfb5bd4
Update timer.h
stevstrong Nov 13, 2017
85f159b
Update boards.txt
stevstrong Nov 13, 2017
9b03f08
Solve race condition with arduino IDE monitoring serial port
albertoa Nov 13, 2017
bb75679
Merge pull request #375 from stevstrong/patch-3
rogerclarkmelbourne Nov 13, 2017
98b3d24
Merge pull request #376 from stevstrong/patch-4
rogerclarkmelbourne Nov 13, 2017
3ff1b80
Merge pull request #377 from albertoa/patch-1
rogerclarkmelbourne Nov 13, 2017
a7503e1
Merge pull request #371 from LightningStalker/master
rogerclarkmelbourne Nov 13, 2017
908a57a
Suppressing 'warning: missing initializer for member ... [-Wmissing-f…
lacklustrlabs Nov 15, 2017
8d9e2f2
Suppressing 'warning: unused parameter ... [-Wunused-parameter]'
lacklustrlabs Nov 15, 2017
29ff4e7
Fixed 'warning: missing initializer for member ... [-Wmissing-field-i…
lacklustrlabs Nov 16, 2017
048f15a
Fixed a comment
lacklustrlabs Nov 17, 2017
719ab20
Rollback on __attribute__((unused)) for pulseIn()
lacklustrlabs Nov 17, 2017
b64029f
Rollback WireBase.begin()
lacklustrlabs Nov 18, 2017
4a84203
Modified pulseIn() to use the state parameter
lacklustrlabs Nov 18, 2017
0f6d909
Caching IDR pointer
lacklustrlabs Nov 19, 2017
e961f5b
Update HardwareTimer.h documentation.
topin89 Nov 21, 2017
023fdfb
Update TimerInterrupts.ino
stevstrong Nov 26, 2017
bee82cb
Correct a bug in FreeRTOS
victorpv Nov 26, 2017
ec8f3f3
Merge pull request #391 from stevstrong/patch-5
rogerclarkmelbourne Nov 26, 2017
aebb14f
Rollback to master
lacklustrlabs Dec 1, 2017
95dde2e
Removed pinMode from PIN_MAP
lacklustrlabs Dec 1, 2017
e7f46eb
Merge pull request #392 from victorpv/patch-2
rogerclarkmelbourne Dec 2, 2017
abcb3b2
Merge pull request #386 from topin89/patch-1
rogerclarkmelbourne Dec 2, 2017
b98abc7
Merge branch 'Wmissing-field-initializers' of https://github.com/lack…
rogerclarkmelbourne Dec 2, 2017
a4ae0ce
Merge branch 'lacklustrlabs-Wmissing-field-initializers'
rogerclarkmelbourne Dec 2, 2017
628dc25
Merge branch 'new_pulseIn' of https://github.com/lacklustrlabs/Arduin…
rogerclarkmelbourne Dec 2, 2017
a5f9f90
Merge branch 'lacklustrlabs-new_pulseIn'
rogerclarkmelbourne Dec 2, 2017
da34bb5
Merge branch 'Wunused-parameter' of https://github.com/lacklustrlabs/…
rogerclarkmelbourne Dec 2, 2017
1175f37
Merge branch 'lacklustrlabs-Wunused-parameter'
rogerclarkmelbourne Dec 3, 2017
595b128
Modification to allow SSD1306 example to compile, following changes t…
rogerclarkmelbourne Dec 3, 2017
dbfb68c
Add files via upload
aster94 Dec 6, 2017
98ed731
Add files via upload
aster94 Dec 7, 2017
2604eb6
Add files via upload
aster94 Dec 7, 2017
acc6cbc
Add files via upload
aster94 Dec 7, 2017
4ffdce2
Add files via upload
aster94 Dec 8, 2017
848602e
Delete WireBase.h
aster94 Dec 8, 2017
558108d
Delete WireBase.cpp
aster94 Dec 8, 2017
2d8af30
Add files via upload
aster94 Dec 8, 2017
b829117
Delete i2c_scanner_hardwire.ino
aster94 Dec 8, 2017
e2a62de
Update i2c_scanner_wire.ino
aster94 Dec 8, 2017
c5133eb
Merge branch 'aster94-master'
rogerclarkmelbourne Dec 10, 2017
f66b9f1
Hopefully fixed problem with tone() blocking when it should be non-bl…
rogerclarkmelbourne Dec 10, 2017
87d1b1f
Create new file "atomic.h"
stevstrong Dec 10, 2017
8d00dca
Merge branch 'stevstrong-patch-9'
rogerclarkmelbourne Dec 10, 2017
1cc4f79
Moved atomic.h for better AVR compatibility
rogerclarkmelbourne Dec 10, 2017
63f4162
Fix compilation with -std=gnu++11
tfry-git Dec 12, 2017
951d0ac
Adding PB2 as in the Generic R and Z versions.
victorpv Dec 16, 2017
e64dbc2
Add PB2 to enums as in the R and Z Generic boards
victorpv Dec 16, 2017
09812b4
Add comment to PB2 pin about boot1 function.
victorpv Dec 17, 2017
066dacf
Update wirish_debug.cpp
stevstrong Dec 29, 2017
d5c6f63
Merge pull request #419 from stevstrong/patch-10
rogerclarkmelbourne Dec 29, 2017
63f784f
Update HW_STM32.h
stevstrong Jan 2, 2018
98fdd47
Merge pull request #421 from stevstrong/patch-10
rogerclarkmelbourne Jan 2, 2018
8540c6b
option XTAL16M for boards with 16MHz-crystal
Jan 9, 2018
d54de1c
corrected RAM-length = 48kByte for STM32F103VC
Jan 9, 2018
514cf85
Update boards.txt
stevstrong Jan 18, 2018
98f1efd
Merge pull request #407 from tfry-git/work/constexpr2
rogerclarkmelbourne Jan 21, 2018
229fced
Merge pull request #427 from stevstrong/patch-10
rogerclarkmelbourne Jan 21, 2018
62c395f
Merge pull request #425 from BlackBrix-Editor/changed-RAM-length-in-s…
rogerclarkmelbourne Jan 21, 2018
e01a70b
Merge pull request #424 from BlackBrix-Editor/16MHz-crystal-option
rogerclarkmelbourne Jan 21, 2018
184802c
Merge pull request #411 from victorpv/patch-2
rogerclarkmelbourne Jan 21, 2018
9cd2f3a
Manually committed changes from https://github.com/rogerclarkmelbourn…
rogerclarkmelbourne Jan 21, 2018
0f78c26
Added Wire_slave.h (no actual i2c slave implementation yet)
lacklustrlabs Dec 14, 2017
4157ef3
Removed some accidental adds
lacklustrlabs Dec 14, 2017
730711b
Made sure Wire_slave.h is included first
lacklustrlabs Dec 14, 2017
3425506
spellcheccck
lacklustrlabs Dec 14, 2017
c4fdf5a
keywords.txt Copied from ArduinoCore-sam (Due)
lacklustrlabs Dec 14, 2017
56e95f2
Steals any reference to Wire.h and redirects it to Wire_slave.h.
lacklustrlabs Dec 14, 2017
6fe4a55
Added SoftWire.h
lacklustrlabs Dec 15, 2017
c65ec99
Updated library.properties
lacklustrlabs Dec 15, 2017
987102c
Temporarily removed not yet functioning examples
lacklustrlabs Dec 15, 2017
78f8a90
Fixed a master/slave mode mixup.
lacklustrlabs Dec 19, 2017
b46b746
Merged with Wire implementation from stm32duino/Arduino_Core_STM32
lacklustrlabs Dec 22, 2017
4ad4de0
Saved some 50K flash memory by modifying the singleton implementation
lacklustrlabs Dec 22, 2017
01c23b6
Changed type of transmitting to bool (from uint8_t)
lacklustrlabs Dec 22, 2017
b9dbeb6
Fixed minor example issues
lacklustrlabs Dec 29, 2017
4e820c3
Full method signatures in header file.
lacklustrlabs Dec 29, 2017
daf62ca
Removed a redundant buffer constraint
lacklustrlabs Dec 29, 2017
2b6e139
According to STM32F103 RM0008: TIMx_CCMR1::CC2S=01 -> channel is conf…
lacklustrlabs Dec 1, 2017
388995e
Adhere to the format of #323
lacklustrlabs Dec 1, 2017
1b8b05c
Added platform.local.txt and boards.local.txt to .gitignore
lacklustrlabs Jan 23, 2018
495f3b9
Fixed 'warning: multi-line comment [-Wcomment]'
lacklustrlabs Nov 15, 2017
9fe0363
Merge pull request #430 from lacklustrlabs/Wcomment
rogerclarkmelbourne Jan 23, 2018
52c3c31
Merge pull request #429 from lacklustrlabs/gitignore_X.local.txt
rogerclarkmelbourne Jan 23, 2018
6f14291
Manually committed RTClock files, due to problems with PR https://git…
rogerclarkmelbourne Jan 23, 2018
82ee5b1
Merge branch 'TIMER_CCMR1_CC2S_INPUT_TI1' of https://github.com/lackl…
rogerclarkmelbourne Jan 23, 2018
8a18e09
Merge branch 'lacklustrlabs-TIMER_CCMR1_CC2S_INPUT_TI1'
rogerclarkmelbourne Jan 23, 2018
9c61fbd
Merge branch 'WireSlave' of https://github.com/lacklustrlabs/Arduino_…
rogerclarkmelbourne Jan 23, 2018
5368d04
Merge branch 'lacklustrlabs-WireSlave'
rogerclarkmelbourne Jan 23, 2018
42a5e9f
Update BOARD_NR_GPIO_PINS for STM32F103V
rogerclarkmelbourne Feb 1, 2018
bd19064
Add files via upload
Phonog Oct 31, 2016
45c64ed
Add files via upload
Phonog Oct 31, 2016
1de91ca
Add files via upload
Phonog Oct 31, 2016
fda4706
Add files via upload
Phonog Oct 31, 2016
dad2e73
added the simplified send example
megadrifter Dec 16, 2016
cdf8fa6
Add 33 and 95 kbps speeds
megadrifter Dec 16, 2016
7b21efa
RPM reading example
megadrifter Mar 24, 2017
0fb002d
add CAN_GPIO_PA11_PA12
megadrifter Jun 1, 2017
333560d
add A11-A12 REMAP
megadrifter Jun 1, 2017
4e2af4f
add real timer setting as mcs/72
megadrifter Jun 7, 2017
ac866ec
add setCycles to use instead of setPeriod
megadrifter Jun 7, 2017
62911a8
rename to setCycles function
megadrifter Jun 7, 2017
406eea0
=Add dual CAN example
megadrifter Jun 8, 2017
a54f4cd
CAN filter corrected by tjb12345
megadrifter Sep 13, 2017
5f1da87
latest files from Phonog
megadrifter Oct 13, 2017
0ade473
latest files from Phonog
megadrifter Oct 13, 2017
0c050b8
Post rebase fixup
lacklustrlabs Jan 27, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,7 @@ other/maple-bootloader/cscope.out
other/maple-bootloader/build
other/maple-bootloader/*~
*.o
tools/src/stm32flash_serial/src/parsers/parsers.a
*.bak
*.1
platform.local.txt
boards.local.txt
18 changes: 11 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
Arduino STM32
=============

##Notice
## Notice

This software is experimental and a work in progress.
Under no circumstances should these files be used in relation to any critical system(s).
Use of these files is at your own risk.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

##Summary:
This repo contains, the "Hardware" files to support STM32 based boards on Arduino version 1.6.4 and 1.6.5, and 1.6.9 including [LeafLabs Maple, and Maple mini](http://www.leaflabs.com/about-maple/), and other generic STM32F103 boards
## Summary:
This repo contains, the "Hardware" files to support STM32 based boards on Arduino version 1.8.x (some older versions may also work) including [LeafLabs Maple, and Maple mini](http://www.leaflabs.com/about-maple/), and other generic STM32F103 boards

***PRIMARY SUPPORT FORUM: http://www.stm32duino.com/***

##Background & Support:
***We are also on Gitter https://gitter.im/stm32duino/Lobby/***
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/stm32duino/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

## Background & Support:
* Based on https://github.com/bobc/maple-asp, which is in turn based on LibMaple by Leaflabs
* **Please read the wiki (https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki) for full details**
* See also my blog: http://www.rogerclark.net/stm32f103-and-maple-maple-mini-with-arduino-1-5-x-ide/
Expand All @@ -26,11 +30,11 @@ This repo contains, the "Hardware" files to support STM32 based boards on Arduin
* 20150413: [STM32 for Arduino 1.6.2 or newer (update)](https://www.youtube.com/watch?v=TePglhSkghg)
* 20150419: [Uploading via USB to Serial to STM32F103 boards](https://www.youtube.com/watch?v=G_RF0a0hrak)

##Additional Links & Info:
## Additional Links & Info:
* https://www.hackster.io/rayburne/4-dollar-90-mips-32-bit-72-mhz-arm-arduino

##Purchase info:
###Entry level boards
## Purchase info:
### Entry level boards

* [Ebay search for "arduino maple"](http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&LH_BIN=1&_nkw=arduino+maple&_sop=15) (currently costs <$5 with shipping)
* [AliExpress search for "leaflabs maple"] (http://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20150607085526&SearchText=leaflabs+maple)
Expand Down
682 changes: 578 additions & 104 deletions STM32F1/boards.txt

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions STM32F1/cores/maple/HardwareSerial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,8 @@ size_t HardwareSerial::write(unsigned char ch) {
return 1;
}

/* edogaldo: Waits for the transmission of outgoing serial data to complete (Arduino 1.0 api specs) */
void HardwareSerial::flush(void) {
usart_reset_rx(this->usart_device);
usart_reset_tx(this->usart_device);
while(!rb_is_empty(this->usart_device->wb)); // wait for TX buffer empty
while(!((this->usart_device->regs->SR) & (1<<USART_SR_TC_BIT))); // wait for TC (Transmission Complete) flag set
}
30 changes: 30 additions & 0 deletions STM32F1/cores/maple/HardwareTimer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,22 @@ uint16 HardwareTimer::setPeriod(uint32 microseconds) {
return overflow;
}

uint16 HardwareTimer::setCycles(uint32 Cycles) {
// Not the best way to handle this edge case?
if (!Cycles) {
this->setPrescaleFactor(1);
this->setOverflow(1);
return this->getOverflow();
}

uint32 period_cyc = Cycles;
uint16 prescaler = (uint16)(period_cyc / MAX_RELOAD + 1);
uint16 overflow = (uint16)((period_cyc + (prescaler / 2)) / prescaler);
this->setPrescaleFactor(prescaler);
this->setOverflow(overflow);
return overflow;
}

void HardwareTimer::setMode(int channel, timer_mode mode) {
timer_set_mode(this->dev, (uint8)channel, (timer_mode)mode);
}
Expand All @@ -138,10 +154,24 @@ void HardwareTimer::detachInterrupt(int channel) {
timer_detach_interrupt(this->dev, (uint8)channel);
}


void HardwareTimer::enableDMA(int channel) {
timer_dma_enable_req(this->dev, (uint8)channel);
}

void HardwareTimer::disableDMA(int channel) {
timer_dma_disable_req(this->dev, (uint8)channel);
}

void HardwareTimer::refresh(void) {
timer_generate_update(this->dev);
}

void HardwareTimer::setMasterModeTrGo(uint32_t mode) {
this->dev->regs.bas->CR2 &= ~TIMER_CR2_MMS;
this->dev->regs.bas->CR2 |= mode;
}

/* CARLOS Changes to add encoder mode.*/

//direction of movement. (to be better described).
Expand Down
42 changes: 40 additions & 2 deletions STM32F1/cores/maple/HardwareTimer.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,19 @@ class HardwareTimer {
*/
void setCount(uint16 val);

/**
* @brief Set the timer's period in Cycles.
*
* Configures the prescaler and overflow values to generate a timer
* reload with a period of given number of
* Cycles.
*
* @param Cycles The desired period of the timer. This must be
* greater than zero.
* @return The new overflow value.
*/
uint16 setCycles(uint32 Cycles);

/**
* @brief Set the timer's period in microseconds.
*
Expand Down Expand Up @@ -177,7 +190,8 @@ class HardwareTimer {
* This interrupt handler will be called when the timer's counter
* reaches the given channel compare value.
*
* @param channel the channel to attach the ISR to, from 1 to 4.
* @param channel the channel to attach the ISR to, from 0 to 4.
* Channel 0 is for overflow interrupt (update interrupt).
* @param handler The ISR to attach to the given channel.
* @see voidFuncPtr
*/
Expand All @@ -189,7 +203,8 @@ class HardwareTimer {
*
* The handler will no longer be called by this timer.
*
* @param channel the channel whose interrupt to detach, from 1 to 4.
* @param channel the channel whose interrupt to detach, from 0 to 4.
* Channel 0 is for overflow interrupt (update interrupt).
* @see HardwareTimer::attachInterrupt()
*/
void detachInterrupt(int channel);
Expand All @@ -209,6 +224,23 @@ class HardwareTimer {
*/
void refresh(void);

// SYFRE
/**
* @brief Set the Master mode TRGO signal
* These bits allow to select the information to be sent in master mode to slave timers for
* synchronization (TRGO).
* mode:
* TIMER_CR2_MMS_RESET
* TIMER_CR2_MMS_ENABLE
* TIMER_CR2_MMS_UPDATE
* TIMER_CR2_MMS_COMPARE_PULSE
* TIMER_CR2_MMS_COMPARE_OC1REF
* TIMER_CR2_MMS_COMPARE_OC2REF
* TIMER_CR2_MMS_COMPARE_OC3REF
* TIMER_CR2_MMS_COMPARE_OC4REF
*/
void setMasterModeTrGo(uint32_t mode);

//CARLOS.
/*
added these functions to make sense for the encoder mode.
Expand All @@ -228,6 +260,12 @@ class HardwareTimer {

/* Escape hatch */

/**
* @brief Enable/disable DMA request for the input channel.
*/
void enableDMA(int channel);
void disableDMA(int channel);

/**
* @brief Get a pointer to the underlying libmaple timer_dev for
* this HardwareTimer instance.
Expand Down
16 changes: 2 additions & 14 deletions STM32F1/cores/maple/Print.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,6 @@ size_t Print::print(unsigned long n, int base) {
}

size_t Print::print(long long n, int base) {
if (base == BYTE)
{
return write((uint8)n);
}
if (n < 0) {
print('-');
n = -n;
Expand All @@ -111,13 +107,7 @@ size_t Print::print(long long n, int base) {
}

size_t Print::print(unsigned long long n, int base) {
size_t c=0;
if (base == BYTE) {
c= write((uint8)n);
} else {
c= printNumber(n, base);
}
return c;
return printNumber(n, base);
}

size_t Print::print(double n, int digits) {
Expand All @@ -126,9 +116,7 @@ size_t Print::print(double n, int digits) {

size_t Print::print(const __FlashStringHelper *ifsh)
{
size_t n = print(ifsh);
n += println();
return n;
return print(reinterpret_cast<const char *>(ifsh));
}

size_t Print::print(const Printable& x)
Expand Down
1 change: 0 additions & 1 deletion STM32F1/cores/maple/Print.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
#include "Printable.h"

enum {
BYTE = 0,
BIN = 2,
OCT = 8,
DEC = 10,
Expand Down
2 changes: 2 additions & 0 deletions STM32F1/cores/maple/io.h
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,6 @@ uint16 analogRead(uint8 pin);
*/
void shiftOut(uint8 dataPin, uint8 clockPin, uint8 bitOrder, uint8 value);

uint32 shiftIn( uint32 ulDataPin, uint32 ulClockPin, uint32 ulBitOrder );

#endif
8 changes: 6 additions & 2 deletions STM32F1/cores/maple/itoa.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,12 @@ extern char* ltoa( long value, char *string, int radix )

return string;
}

extern char* utoa( unsigned long value, char *string, int radix )
#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 9 || \
(__GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ > 2)))
extern char* utoa( unsigned value, char *string, int radix )
#else
extern char* utoa( unsigned int value, char *string, int radix )
#endif
{
return ultoa( value, string, radix ) ;
}
Expand Down
7 changes: 6 additions & 1 deletion STM32F1/cores/maple/itoa.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@ extern void itoa( int n, char s[] ) ;

extern char* itoa( int value, char *string, int radix ) ;
extern char* ltoa( long value, char *string, int radix ) ;
extern char* utoa( unsigned long value, char *string, int radix ) ;
#if __GNUC__ > 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ > 9 || \
(__GNUC_MINOR__ == 9 && __GNUC_PATCHLEVEL__ > 2)))
extern char* utoa( unsigned value, char *string, int radix ) ;
#else
extern char* utoa( unsigned int value, char *string, int radix ) ;
#endif
extern char* ultoa( unsigned long value, char *string, int radix ) ;
#endif /* 0 */

Expand Down
1 change: 1 addition & 0 deletions STM32F1/cores/maple/libmaple/adc.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ void adc_set_extsel(adc_dev *dev, adc_extsel_event event) {
uint32 cr2 = dev->regs->CR2;
cr2 &= ~ADC_CR2_EXTSEL;
cr2 |= event;
cr2 |= ADC_CR2_EXTTRIG;
dev->regs->CR2 = cr2;
}

Expand Down
2 changes: 1 addition & 1 deletion STM32F1/cores/maple/libmaple/adc_f1.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ void adc_foreach(void (*fn)(adc_dev*)) {
#endif
}

void adc_config_gpio(adc_dev *ignored, gpio_dev *gdev, uint8 bit) {
void adc_config_gpio(adc_dev *ignored __attribute__((unused)), gpio_dev *gdev, uint8 bit) {
gpio_set_mode(gdev, bit, GPIO_INPUT_ANALOG);
}

Expand Down
1 change: 0 additions & 1 deletion STM32F1/cores/maple/libmaple/dma_f1.c
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,6 @@ void dma_set_per_addr(dma_dev *dev, dma_channel channel, __io void *addr) {
* @see dma_attach_interrupt()
* @see dma_enable()
*/
__deprecated
void dma_setup_transfer(dma_dev *dev,
dma_channel channel,
__io void *peripheral_address,
Expand Down
1 change: 0 additions & 1 deletion STM32F1/cores/maple/libmaple/gpio_f1.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,6 @@ gpio_pin_mode gpio_get_mode(gpio_dev *dev, uint8 pin) {
gpio_reg_map *regs = dev->regs;
__io uint32 *cr = &regs->CRL + (pin >> 3);
uint32 shift = (pin & 0x7) * 4;
uint32 tmp = *cr;

uint32 crMode = (*cr>>shift) & 0x0F;

Expand Down
1 change: 1 addition & 0 deletions STM32F1/cores/maple/libmaple/rcc_f1.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ const struct rcc_dev_info rcc_dev_table[] = {
[RCC_TIMER13] = { .clk_domain = APB1, .line_num = 7 },
[RCC_TIMER14] = { .clk_domain = APB1, .line_num = 8 },
#endif
[RCC_CAN] = { .clk_domain = APB1, .line_num = 25 }, //! JMD after X893
};

__deprecated
Expand Down
26 changes: 16 additions & 10 deletions STM32F1/cores/maple/libmaple/spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ void spi_slave_enable(spi_dev *dev, spi_mode mode, uint32 flags) {
}

/**
* @brief Nonblocking SPI transmit.
* @brief Blocking SPI transmit.
* @param dev SPI port to use for transmission
* @param buf Buffer to transmit. The sizeof buf's elements are
* inferred from dev's data frame format (i.e., are
Expand All @@ -93,15 +93,21 @@ void spi_slave_enable(spi_dev *dev, spi_mode mode, uint32 flags) {
* @return Number of elements transmitted.
*/
uint32 spi_tx(spi_dev *dev, const void *buf, uint32 len) {
uint32 txed = 0;
uint8 byte_frame = spi_dff(dev) == SPI_DFF_8_BIT;
while (spi_is_tx_empty(dev) && (txed < len)) {
if (byte_frame) {
dev->regs->DR = ((const uint8*)buf)[txed++];
} else {
dev->regs->DR = ((const uint16*)buf)[txed++];
}
}
uint32 txed = len;
spi_reg_map *regs = dev->regs;
if ( spi_dff(dev) == SPI_DFF_8_BIT ) {
const uint8 * dp8 = (const uint8*)buf;
while ( len-- ) {
while ( (regs->SR & SPI_SR_TXE)==0 ) ; //while ( spi_is_tx_empty(dev)==0 ); // wait Tx to be empty
regs->DR = *dp8++;
}
} else {
const uint16 * dp16 = (const uint16*)buf;
while ( len-- ) {
while ( (regs->SR & SPI_SR_TXE)==0 ) ; //while ( spi_is_tx_empty(dev)==0 ); // wait Tx to be empty
regs->DR = *dp16++;
}
}
return txed;
}

Expand Down
2 changes: 1 addition & 1 deletion STM32F1/cores/maple/libmaple/spi_f1.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ spi_dev *SPI3 = &spi3;
* Routines
*/

void spi_config_gpios(spi_dev *ignored,
void spi_config_gpios(spi_dev *ignored __attribute__((unused)),
uint8 as_master,
gpio_dev *nss_dev,
uint8 nss_bit,
Expand Down
2 changes: 1 addition & 1 deletion STM32F1/cores/maple/libmaple/timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ static void output_compare_mode(timer_dev *dev, uint8 channel) {
}

//added by CARLOS.
static void encoder_mode(timer_dev *dev, uint8 channel) {
static void encoder_mode(timer_dev *dev, uint8 channel __attribute__((unused))) {

//prescaler.
//(dev->regs).gen->PSC = 1;
Expand Down
Loading