Skip to content

Commit 30c625f

Browse files
author
Matt Land
committed
Merge branch 'feature-i2c-gemma' into feature-default-spi-circuit-playground
2 parents b9b742c + 0511bec commit 30c625f

File tree

19 files changed

+268
-116
lines changed

19 files changed

+268
-116
lines changed

.travis.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@ notifications:
4242

4343
before_script:
4444
- sudo dpkg --add-architecture i386
45-
- sudo apt-get install -y python3 gcc-multilib pkg-config libffi-dev libffi-dev:i386 qemu-system
45+
- |
46+
sudo apt-get install -y python3 gcc-multilib pkg-config libffi-dev libffi-dev:i386 qemu-system ||
47+
sleep 30 ||
48+
sudo apt-get install -y python3 gcc-multilib pkg-config libffi-dev libffi-dev:i386 qemu-system
49+
4650
- ([[ -z "$TRAVIS_TEST" ]] || sudo apt-get install -y qemu-system)
4751
- ([[ -z "$TRAVIS_BOARD" ]] || (wget https://s3.amazonaws.com/adafruit-circuit-python/gcc-arm-embedded_7-2017q4-1~trusty3_amd64.deb && sudo dpkg -i gcc-arm-embedded*_amd64.deb))
4852
- ([[ $TRAVIS_TEST != "qemu" ]] || (wget https://s3.amazonaws.com/adafruit-circuit-python/gcc-arm-embedded_7-2017q4-1~trusty3_amd64.deb && sudo dpkg -i gcc-arm-embedded*_amd64.deb))

docs/library/builtins.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,10 @@ Exceptions
188188

189189
.. exception:: RuntimeError
190190

191+
.. exception:: ReloadException
192+
193+
`ReloadException` is used internally to deal with soft restarts.
194+
191195
.. exception:: StopIteration
192196

193197
.. exception:: SyntaxError

main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ bool start_mp(safe_mode_t safe_mode) {
168168
reset_status_led();
169169

170170
if (result.return_code & PYEXEC_FORCED_EXIT) {
171-
return reload_next_character;
171+
return reload_requested;
172172
}
173173
}
174174

@@ -180,7 +180,7 @@ bool start_mp(safe_mode_t safe_mode) {
180180
#ifdef MICROPY_VM_HOOK_LOOP
181181
MICROPY_VM_HOOK_LOOP
182182
#endif
183-
if (reload_next_character) {
183+
if (reload_requested) {
184184
return true;
185185
}
186186

ports/atmel-samd/boards/gemma_m0/mpconfigboard.h

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,48 @@
1818
#include "internal_flash.h"
1919

2020
#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000)
21+
22+
#define IGNORE_PIN_PA03 1
23+
#define IGNORE_PIN_PA06 1
24+
#define IGNORE_PIN_PA07 1
25+
#define IGNORE_PIN_PA08 1
26+
#define IGNORE_PIN_PA09 1
27+
#define IGNORE_PIN_PA10 1
28+
#define IGNORE_PIN_PA11 1
29+
#define IGNORE_PIN_PA12 1
30+
#define IGNORE_PIN_PA13 1
31+
#define IGNORE_PIN_PA14 1
32+
#define IGNORE_PIN_PA15 1
33+
#define IGNORE_PIN_PA16 1
34+
#define IGNORE_PIN_PA17 1
35+
#define IGNORE_PIN_PA18 1
36+
#define IGNORE_PIN_PA19 1
37+
#define IGNORE_PIN_PA20 1
38+
#define IGNORE_PIN_PA21 1
39+
#define IGNORE_PIN_PA22 1
40+
#define IGNORE_PIN_PA27 1
41+
#define IGNORE_PIN_PA28 1
42+
#define IGNORE_PIN_PA30 1
43+
#define IGNORE_PIN_PA31 1
44+
#define IGNORE_PIN_PB01 1
45+
#define IGNORE_PIN_PB02 1
46+
#define IGNORE_PIN_PB03 1
47+
#define IGNORE_PIN_PB04 1
48+
#define IGNORE_PIN_PB05 1
49+
#define IGNORE_PIN_PB06 1
50+
#define IGNORE_PIN_PB07 1
51+
#define IGNORE_PIN_PB08 1
52+
#define IGNORE_PIN_PB09 1
53+
#define IGNORE_PIN_PB10 1
54+
#define IGNORE_PIN_PB11 1
55+
#define IGNORE_PIN_PB12 1
56+
#define IGNORE_PIN_PB13 1
57+
#define IGNORE_PIN_PB14 1
58+
#define IGNORE_PIN_PB15 1
59+
#define IGNORE_PIN_PB16 1
60+
#define IGNORE_PIN_PB17 1
61+
#define IGNORE_PIN_PB22 1
62+
#define IGNORE_PIN_PB23 1
63+
#define IGNORE_PIN_PB30 1
64+
#define IGNORE_PIN_PB31 1
65+
#define IGNORE_PIN_PB00 1

ports/atmel-samd/boards/trinket_m0/mpconfigboard.h

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,48 @@
1515

1616
#define BOARD_FLASH_SIZE (0x00040000 - 0x2000 - 0x010000)
1717

18+
#define IGNORE_PIN_PA03 1
19+
#define IGNORE_PIN_PA04 1
20+
#define IGNORE_PIN_PA11 1
21+
#define IGNORE_PIN_PA12 1
22+
#define IGNORE_PIN_PA13 1
23+
#define IGNORE_PIN_PA14 1
24+
#define IGNORE_PIN_PA15 1
25+
#define IGNORE_PIN_PA16 1
26+
#define IGNORE_PIN_PA17 1
27+
#define IGNORE_PIN_PA18 1
28+
#define IGNORE_PIN_PA19 1
29+
#define IGNORE_PIN_PA20 1
30+
#define IGNORE_PIN_PA21 1
31+
#define IGNORE_PIN_PA22 1
32+
#define IGNORE_PIN_PA23 1
33+
#define IGNORE_PIN_PA27 1
34+
#define IGNORE_PIN_PA28 1
35+
#define IGNORE_PIN_PA30 1
36+
#define IGNORE_PIN_PA31 1
37+
#define IGNORE_PIN_PB01 1
38+
#define IGNORE_PIN_PB02 1
39+
#define IGNORE_PIN_PB03 1
40+
#define IGNORE_PIN_PB04 1
41+
#define IGNORE_PIN_PB05 1
42+
#define IGNORE_PIN_PB06 1
43+
#define IGNORE_PIN_PB07 1
44+
#define IGNORE_PIN_PB08 1
45+
#define IGNORE_PIN_PB09 1
46+
#define IGNORE_PIN_PB10 1
47+
#define IGNORE_PIN_PB11 1
48+
#define IGNORE_PIN_PB12 1
49+
#define IGNORE_PIN_PB13 1
50+
#define IGNORE_PIN_PB14 1
51+
#define IGNORE_PIN_PB15 1
52+
#define IGNORE_PIN_PB16 1
53+
#define IGNORE_PIN_PB17 1
54+
#define IGNORE_PIN_PB22 1
55+
#define IGNORE_PIN_PB23 1
56+
#define IGNORE_PIN_PB30 1
57+
#define IGNORE_PIN_PB31 1
58+
#define IGNORE_PIN_PB00 1
59+
1860
#define DEFAULT_I2C_BUS_SCL (&pin_PA09)
1961
#define DEFAULT_I2C_BUS_SDA (&pin_PA08)
2062

ports/atmel-samd/common-hal/microcontroller/__init__.c

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -97,162 +97,162 @@ const nvm_bytearray_obj_t common_hal_mcu_nvm_obj = {
9797
// This maps MCU pin names to pin objects.
9898
STATIC const mp_rom_map_elem_t mcu_pin_global_dict_table[] = {
9999
// Pins in datasheet order.
100-
#ifdef PIN_PA00
100+
#if defined(PIN_PA00) && !defined(IGNORE_PIN_PA00)
101101
{ MP_ROM_QSTR(MP_QSTR_PA00), MP_ROM_PTR(&pin_PA00) },
102102
#endif
103-
#ifdef PIN_PA01
103+
#if defined(PIN_PA01) && !defined(IGNORE_PIN_PA01)
104104
{ MP_ROM_QSTR(MP_QSTR_PA01), MP_ROM_PTR(&pin_PA01) },
105105
#endif
106-
#ifdef PIN_PA02
106+
#if defined(PIN_PA02) && !defined(IGNORE_PIN_PA02)
107107
{ MP_ROM_QSTR(MP_QSTR_PA02), MP_ROM_PTR(&pin_PA02) },
108108
#endif
109-
#ifdef PIN_PA03
109+
#if defined(PIN_PA03) && !defined(IGNORE_PIN_PA03)
110110
{ MP_ROM_QSTR(MP_QSTR_PA03), MP_ROM_PTR(&pin_PA03) },
111111
#endif
112-
#ifdef PIN_PB04
112+
#if defined(PIN_PB04) && !defined(IGNORE_PIN_PB04)
113113
{ MP_ROM_QSTR(MP_QSTR_PB04), MP_ROM_PTR(&pin_PB04) },
114114
#endif
115-
#ifdef PIN_PB05
115+
#if defined(PIN_PB05) && !defined(IGNORE_PIN_PB05)
116116
{ MP_ROM_QSTR(MP_QSTR_PB05), MP_ROM_PTR(&pin_PB05) },
117117
#endif
118-
#ifdef PIN_PB06
118+
#if defined(PIN_PB06) && !defined(IGNORE_PIN_PB06)
119119
{ MP_ROM_QSTR(MP_QSTR_PB06), MP_ROM_PTR(&pin_PB06) },
120120
#endif
121-
#ifdef PIN_PB07
121+
#if defined(PIN_PB07) && !defined(IGNORE_PIN_PB07)
122122
{ MP_ROM_QSTR(MP_QSTR_PB07), MP_ROM_PTR(&pin_PB07) },
123123
#endif
124-
#ifdef PIN_PB08
124+
#if defined(PIN_PB08) && !defined(IGNORE_PIN_PB08)
125125
{ MP_ROM_QSTR(MP_QSTR_PB08), MP_ROM_PTR(&pin_PB08) },
126126
#endif
127-
#ifdef PIN_PB09
127+
#if defined(PIN_PB09) && !defined(IGNORE_PIN_PB09)
128128
{ MP_ROM_QSTR(MP_QSTR_PB09), MP_ROM_PTR(&pin_PB09) },
129129
#endif
130-
#ifdef PIN_PA04
130+
#if defined(PIN_PA04) && !defined(IGNORE_PIN_PA04)
131131
{ MP_ROM_QSTR(MP_QSTR_PA04), MP_ROM_PTR(&pin_PA04) },
132132
#endif
133-
#ifdef PIN_PA05
133+
#if defined(PIN_PA05) && !defined(IGNORE_PIN_PA05)
134134
{ MP_ROM_QSTR(MP_QSTR_PA05), MP_ROM_PTR(&pin_PA05) },
135135
#endif
136-
#ifdef PIN_PA06
136+
#if defined(PIN_PA06) && !defined(IGNORE_PIN_PA06)
137137
{ MP_ROM_QSTR(MP_QSTR_PA06), MP_ROM_PTR(&pin_PA06) },
138138
#endif
139-
#ifdef PIN_PA07
139+
#if defined(PIN_PA07) && !defined(IGNORE_PIN_PA07)
140140
{ MP_ROM_QSTR(MP_QSTR_PA07), MP_ROM_PTR(&pin_PA07) },
141141
#endif
142-
#ifdef PIN_PA08
142+
#if defined(PIN_PA08) && !defined(IGNORE_PIN_PA08)
143143
{ MP_ROM_QSTR(MP_QSTR_PA08), MP_ROM_PTR(&pin_PA08) },
144144
#endif
145-
#ifdef PIN_PA09
145+
#if defined(PIN_PA09) && !defined(IGNORE_PIN_PA09)
146146
{ MP_ROM_QSTR(MP_QSTR_PA09), MP_ROM_PTR(&pin_PA09) },
147147
#endif
148-
#ifdef PIN_PA10
148+
#if defined(PIN_PA10) && !defined(IGNORE_PIN_PA10)
149149
{ MP_ROM_QSTR(MP_QSTR_PA10), MP_ROM_PTR(&pin_PA10) },
150150
#endif
151-
#ifdef PIN_PA11
151+
#if defined(PIN_PA11) && !defined(IGNORE_PIN_PA11)
152152
{ MP_ROM_QSTR(MP_QSTR_PA11), MP_ROM_PTR(&pin_PA11) },
153153
#endif
154-
#ifdef PIN_PB10
154+
#if defined(PIN_PB10) && !defined(IGNORE_PIN_PB10)
155155
{ MP_ROM_QSTR(MP_QSTR_PB10), MP_ROM_PTR(&pin_PB10) },
156156
#endif
157-
#ifdef PIN_PB11
157+
#if defined(PIN_PB11) && !defined(IGNORE_PIN_PB11)
158158
{ MP_ROM_QSTR(MP_QSTR_PB11), MP_ROM_PTR(&pin_PB11) },
159159
#endif
160-
#ifdef PIN_PB12
160+
#if defined(PIN_PB12) && !defined(IGNORE_PIN_PB12)
161161
{ MP_ROM_QSTR(MP_QSTR_PB12), MP_ROM_PTR(&pin_PB12) },
162162
#endif
163-
#ifdef PIN_PB13
163+
#if defined(PIN_PB13) && !defined(IGNORE_PIN_PB13)
164164
{ MP_ROM_QSTR(MP_QSTR_PB13), MP_ROM_PTR(&pin_PB13) },
165165
#endif
166-
#ifdef PIN_PB14
166+
#if defined(PIN_PB14) && !defined(IGNORE_PIN_PB14)
167167
{ MP_ROM_QSTR(MP_QSTR_PB14), MP_ROM_PTR(&pin_PB14) },
168168
#endif
169169

170170
// Second page.
171-
#ifdef PIN_PB15
171+
#if defined(PIN_PB15) && !defined(IGNORE_PIN_PB15)
172172
{ MP_ROM_QSTR(MP_QSTR_PB15), MP_ROM_PTR(&pin_PB15) },
173173
#endif
174-
#ifdef PIN_PA12
174+
#if defined(PIN_PA12) && !defined(IGNORE_PIN_PA12)
175175
{ MP_ROM_QSTR(MP_QSTR_PA12), MP_ROM_PTR(&pin_PA12) },
176176
#endif
177-
#ifdef PIN_PA13
177+
#if defined(PIN_PA13) && !defined(IGNORE_PIN_PA13)
178178
{ MP_ROM_QSTR(MP_QSTR_PA13), MP_ROM_PTR(&pin_PA13) },
179179
#endif
180-
#ifdef PIN_PA14
180+
#if defined(PIN_PA14) && !defined(IGNORE_PIN_PA14)
181181
{ MP_ROM_QSTR(MP_QSTR_PA14), MP_ROM_PTR(&pin_PA14) },
182182
#endif
183-
#ifdef PIN_PA15
183+
#if defined(PIN_PA15) && !defined(IGNORE_PIN_PA15)
184184
{ MP_ROM_QSTR(MP_QSTR_PA15), MP_ROM_PTR(&pin_PA15) },
185185
#endif
186-
#ifdef PIN_PA16
186+
#if defined(PIN_PA16) && !defined(IGNORE_PIN_PA16)
187187
{ MP_ROM_QSTR(MP_QSTR_PA16), MP_ROM_PTR(&pin_PA16) },
188188
#endif
189-
#ifdef PIN_PA17
189+
#if defined(PIN_PA17) && !defined(IGNORE_PIN_PA17)
190190
{ MP_ROM_QSTR(MP_QSTR_PA17), MP_ROM_PTR(&pin_PA17) },
191191
#endif
192-
#ifdef PIN_PA18
192+
#if defined(PIN_PA18) && !defined(IGNORE_PIN_PA18)
193193
{ MP_ROM_QSTR(MP_QSTR_PA18), MP_ROM_PTR(&pin_PA18) },
194194
#endif
195-
#ifdef PIN_PA19
195+
#if defined(PIN_PA19) && !defined(IGNORE_PIN_PA19)
196196
{ MP_ROM_QSTR(MP_QSTR_PA19), MP_ROM_PTR(&pin_PA19) },
197197
#endif
198-
#ifdef PIN_PB16
198+
#if defined(PIN_PB16) && !defined(IGNORE_PIN_PB16)
199199
{ MP_ROM_QSTR(MP_QSTR_PB16), MP_ROM_PTR(&pin_PB16) },
200200
#endif
201-
#ifdef PIN_PB17
201+
#if defined(PIN_PB17) && !defined(IGNORE_PIN_PB17)
202202
{ MP_ROM_QSTR(MP_QSTR_PB17), MP_ROM_PTR(&pin_PB17) },
203203
#endif
204-
#ifdef PIN_PA20
204+
#if defined(PIN_PA20) && !defined(IGNORE_PIN_PA20)
205205
{ MP_ROM_QSTR(MP_QSTR_PA20), MP_ROM_PTR(&pin_PA20) },
206206
#endif
207-
#ifdef PIN_PA21
207+
#if defined(PIN_PA21) && !defined(IGNORE_PIN_PA21)
208208
{ MP_ROM_QSTR(MP_QSTR_PA21), MP_ROM_PTR(&pin_PA21) },
209209
#endif
210-
#ifdef PIN_PA22
210+
#if defined(PIN_PA22) && !defined(IGNORE_PIN_PA22)
211211
{ MP_ROM_QSTR(MP_QSTR_PA22), MP_ROM_PTR(&pin_PA22) },
212212
#endif
213-
#ifdef PIN_PA23
213+
#if defined(PIN_PA23) && !defined(IGNORE_PIN_PA23)
214214
{ MP_ROM_QSTR(MP_QSTR_PA23), MP_ROM_PTR(&pin_PA23) },
215215
#endif
216-
#ifdef PIN_PA24
216+
#if defined(PIN_PA24) && !defined(IGNORE_PIN_PA24)
217217
{ MP_ROM_QSTR(MP_QSTR_PA24), MP_ROM_PTR(&pin_PA24) },
218218
#endif
219-
#ifdef PIN_PA25
219+
#if defined(PIN_PA25) && !defined(IGNORE_PIN_PA25)
220220
{ MP_ROM_QSTR(MP_QSTR_PA25), MP_ROM_PTR(&pin_PA25) },
221221
#endif
222-
#ifdef PIN_PB22
222+
#if defined(PIN_PB22) && !defined(IGNORE_PIN_PB22)
223223
{ MP_ROM_QSTR(MP_QSTR_PB22), MP_ROM_PTR(&pin_PB22) },
224224
#endif
225-
#ifdef PIN_PB23
225+
#if defined(PIN_PB23) && !defined(IGNORE_PIN_PB23)
226226
{ MP_ROM_QSTR(MP_QSTR_PB23), MP_ROM_PTR(&pin_PB23) },
227227
#endif
228-
#ifdef PIN_PA27
228+
#if defined(PIN_PA27) && !defined(IGNORE_PIN_PA27)
229229
{ MP_ROM_QSTR(MP_QSTR_PA27), MP_ROM_PTR(&pin_PA27) },
230230
#endif
231-
#ifdef PIN_PA28
231+
#if defined(PIN_PA28) && !defined(IGNORE_PIN_PA28)
232232
{ MP_ROM_QSTR(MP_QSTR_PA28), MP_ROM_PTR(&pin_PA28) },
233233
#endif
234-
#ifdef PIN_PA30
234+
#if defined(PIN_PA30) && !defined(IGNORE_PIN_PA30)
235235
{ MP_ROM_QSTR(MP_QSTR_PA30), MP_ROM_PTR(&pin_PA30) },
236236
#endif
237-
#ifdef PIN_PA31
237+
#if defined(PIN_PA31) && !defined(IGNORE_PIN_PA31)
238238
{ MP_ROM_QSTR(MP_QSTR_PA31), MP_ROM_PTR(&pin_PA31) },
239239
#endif
240-
#ifdef PIN_PB30
240+
#if defined(PIN_PB30) && !defined(IGNORE_PIN_PB30)
241241
{ MP_ROM_QSTR(MP_QSTR_PB30), MP_ROM_PTR(&pin_PB30) },
242242
#endif
243-
#ifdef PIN_PB31
243+
#if defined(PIN_PB31) && !defined(IGNORE_PIN_PB31)
244244
{ MP_ROM_QSTR(MP_QSTR_PB31), MP_ROM_PTR(&pin_PB31) },
245245
#endif
246-
#ifdef PIN_PB00
246+
#if defined(PIN_PB00) && !defined(IGNORE_PIN_PB00)
247247
{ MP_ROM_QSTR(MP_QSTR_PB00), MP_ROM_PTR(&pin_PB00) },
248248
#endif
249-
#ifdef PIN_PB01
249+
#if defined(PIN_PB01) && !defined(IGNORE_PIN_PB01)
250250
{ MP_ROM_QSTR(MP_QSTR_PB01), MP_ROM_PTR(&pin_PB01) },
251251
#endif
252-
#ifdef PIN_PB02
252+
#if defined(PIN_PB02) && !defined(IGNORE_PIN_PB02)
253253
{ MP_ROM_QSTR(MP_QSTR_PB02), MP_ROM_PTR(&pin_PB02) },
254254
#endif
255-
#ifdef PIN_PB03
255+
#if defined(PIN_PB03) && !defined(IGNORE_PIN_PB03)
256256
{ MP_ROM_QSTR(MP_QSTR_PB03), MP_ROM_PTR(&pin_PB03) }
257257
#endif
258258
};

ports/atmel-samd/mphalport.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ int mp_hal_stdin_rx_chr(void) {
2828
#ifdef MICROPY_VM_HOOK_LOOP
2929
MICROPY_VM_HOOK_LOOP
3030
#endif
31-
// if (reload_next_character) {
31+
// if (reload_requested) {
3232
// return CHAR_CTRL_D;
3333
// }
3434
if (usb_bytes_available()) {

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy