CHANGELOG.md 20.7 KB
Newer Older
Rahix's avatar
Rahix committed
1
2
3
4
5
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

Rahix's avatar
Rahix committed
6
## [Unreleased]
schneider's avatar
schneider committed
7
8
9
10
11


## [v1.17] - 2020-04-04 - [R2R Rocket]
[R2R Rocket]: https://card10.badge.events.ccc.de/release/card10-v1.17-R2R-Rocket.zip

Rahix's avatar
Rahix committed
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
### For Users
#### Added
- Added the Bosch BSEC library for the BME680 sensor.  See the [``bme680``
  module][bme680-docs] documentation for details.
- Added a [BLE Environmental Sensing Service][ess-docs].
- Added a [BLE HID Service][ble-hid-docs].
- Added the ability to use the pulse-oximeter as a proximity sensor (makes it
  usable as a button).  Additionally a demo-application was added which uses
  this for a push-to-talk button.
- Added a [blitting][blit-docs] function to the display module.  This finally
  allows to efficiently draw pixels!
- MicroPython BLE support!
- A PNG library for pycardium: [`png`][png-docs]
- Two more config options to tweak menu button behavior: `long_press_ms` and ``retrigger_ms``
- Option to disable low battery checks via `card10.cfg`.  This is meant for
  devices where the connection between the PMICs ADMUX and the CPU's ADC is broken
  in some way, leading to the device always reporting a low battery condition.

#### Changed
- Updated the BME680 demo app with BSEC support.
- Upgraded to MicroPython 1.14.
- Open the USB mass-storage when no apps are found.
- Improved the l0dables runtime; it now handles HardFaults and app-exits
  properly.

#### Fixed
- Fixed lockup when trying to load an ELF l0dable while ELFs are disabled.
- Fixed card10 not waking up from sleep when BLE is disabled (regression from 1.15 to 1.16).
- Fixed card10 not working with the Harmonic Board disconnected (regression from
  1.15 to 1.16).

#### Removed
- Removed the battery BLE service.

### Internals
#### Added
- A work-queue API in Epicardium to schedule work that needs to be done
  asynchronously.

#### Changed
- Upgraded to newer SDK version.
- Cleaned up the BHI160 driver a bit.
- Readjusted the flash layout, to give Epicardium more space.
- Upgraded the documentation to use Sphinx 3.

[bme680-docs]: https://firmware.card10.badge.events.ccc.de/pycardium/bme680.html
[ess-docs]: https://firmware.card10.badge.events.ccc.de/bluetooth/ess.html
[ble-hid-docs]: https://firmware.card10.badge.events.ccc.de/pycardium/ble_hid.html
[blit-docs]: https://firmware.card10.badge.events.ccc.de/pycardium/display.html#display.Display.blit
[png-docs]: https://firmware.card10.badge.events.ccc.de/pycardium/png.html
schneider's avatar
schneider committed
62
63
64
65
66


## [v1.16] - 2020-12-04 - [Pandemic Potato]
[Pandemic Potato]: https://card10.badge.events.ccc.de/release/card10-v1.16-Pandemic-Potato.zip

Rahix's avatar
Rahix committed
67
### Added
Rahix's avatar
Rahix committed
68
#### For Users
Rahix's avatar
Rahix committed
69
70
- A feature to allow setting the main app on-device.
- Added compatibility to BLE 5.0 capable phones (including iPhones).
Rahix's avatar
Rahix committed
71
- Added a pairing dialog in the BLE app. card10 is only visible when BLE app is
Rahix's avatar
Rahix committed
72
  active.
Rahix's avatar
Rahix committed
73
74
75
- G-Watch watch face.
- App for COVID-19 exposure notification statistics.
- Experimental app using the MAX86150 pulse-oximeter.
Rahix's avatar
Rahix committed
76

Rahix's avatar
Rahix committed
77
78
79
80
81
82
83
84
#### For Developers
- `leds.flash_rocket()` API for making rockets flash asynchronously.
- Basic API for the MAX86150 pulse-oximeter.
- CSPRNG as a replacement for the hardware TRNG which does not seem to produce
  good entropy the way we are using it right now.
- Option to write HCI layer log files for debugging.
- Feature in `simple_menu` which detects long button presses.
- _Stub_ `ubluetooth` module. Not yet functional!
Rahix's avatar
Rahix committed
85
86

### Changed
Rahix's avatar
Rahix committed
87
88
#### For Users
- The default watch face is now G-Watch.
Rahix's avatar
Rahix committed
89
90
- Improved BLE security by only allowing man-in-the-middle protected
  pairings and specifying minimum key lengths.
Rahix's avatar
Rahix committed
91
- Read time/date automatically from iOS devices.
Rahix's avatar
Rahix committed
92
93
94
- It is now configurable whether the left/right bottom buttons or the right
  top/bottom buttons scroll in the menu via the `right_scroll` option in
  `card10.cfg`.
Rahix's avatar
Rahix committed
95
96
97
98
99
100
101
102
103

#### For Developers
- Updated to a newer version of MicroPython (v1.12).
- All `u{module}` MicroPython modules are now also available as `{module}` which
  brings card10 more in line with upstream.
- Updated to SDK version 0.2.1-12
- The BLE pairing database was completely overhauled.
- Use the CSPRNG for all MicroPython randomness.
- Internal changes to the way interrupts are triggered.
Rahix's avatar
Rahix committed
104
105
106
107
108
109
110

### Fixed
- Made the `vibra` vibration motor API more stable.
- Fixed bug which triggered reboot loops.
- Fixed bug which made the USB serial connection unresponsive.
- Fixed bug which wrote the pairings file more periodically.
- Fixed invalid filesystem locking in BLE startup.
Rahix's avatar
Rahix committed
111
112
113
114
115
116
117
- Only print a single warning when a sensor stream overflows instead of spamming
  the console with errors.
- Fixed issues from reloading the configuration file.
- Fixed `pycard10.py` not properly resetting the device before loading a script.
- Allow to reopen BHI160 sensor from python.
- Fixed pycardium not exiting when triggering certain failure conditions.
- Made the config parser more robust.
Rahix's avatar
Rahix committed
118
- Fixed a possible lockup in the handling of the serial console.
Rahix's avatar
Rahix committed
119
120


schneider's avatar
schneider committed
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
## [v1.15] - 2020-02-02 - [Okra]
[Okra]: https://card10.badge.events.ccc.de/release/card10-v1.15-Okra.zip

### Added
- Show a fault screen on the display when epicardium panics

### Fixed
- Prevent MicroPython garbage collector from delting ISRs
- Fix race conditoin when reading/writing BLE MAC address at boot.
- Fix locking of LEDs.
- Fix bug which only allowed to have a single file open at any time.
- Put all chips into standby when going to sleep
- Misc BLE fixes


Rahix's avatar
Rahix committed
136
137
138
## [v1.14] - 2019-12-29 - [Nettle]
[Nettle]: https://card10.badge.events.ccc.de/release/card10-v1.14-Nettle.zip

Rahix's avatar
Rahix committed
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
### Added
- Scripts for profiling card10 (`tools/poor-profiler`)
- `tools/ecg2wav.py` script for displaying ECG logs in audio programs like
  Audacity.

### Changed
- Ported hardware-locks & bhi160 to new mutex API
- The menu now tries to display apps without a `metadata.json` as well, if
  possible.

### Fixed
- Fixed an unguarded i2c bus transaction which caused strange issues all
  around.
- Fixed copying large files freezing card10.
- Fixed BHI160 initialization interrupt behavior.
- Properly disable BHI160 if an error occurs during init.
- Fixed bhi160 app overflowing sensor queues.
- Fixed neopixel driver not properly writing the first pixel the first
  time.
- Fixed some l0dables crashing because the SysTick timer interrupt was not
  disabled.
Rahix's avatar
Rahix committed
160
161
162
163
164


## [v1.13] - 2019-12-09 - [Mushroom]
[Mushroom]: https://card10.badge.events.ccc.de/release/card10-v1.13-Mushroom.zip

Rahix's avatar
Rahix committed
165
166
167
168
169
170
171
172
173
### Added
- ECG plotter tool (for desktop machines) which can plot ECG logs taken with card10.
- The `input()` Python function.
- Enabled the MicroPython `framebuf` module for a Pycardium-only framebuffer
  implementation.
- Added the `utime.ticks_us()` and `utime.ticks_ms()` functions for very
  accurate timing of MicroPython code.
- Added an option to use the right buttons for scrolling and the left one for
  selecting.  This will be made configurable in a future release.
Rahix's avatar
Rahix committed
174
175
- Made timezone configurable with a new `timezone` option in `card10.cfg`.
- Added a setting-menu to the ECG App.
Rahix's avatar
Rahix committed
176
177

### Changed
Rahix's avatar
Rahix committed
178
- Changed default timezone to CET.
Rahix's avatar
Rahix committed
179
180
- Made a few library functions callable without any parameters so they are
  easier to use.
Rahix's avatar
Rahix committed
181
- Refactored the `card10.cfg` config parser.
Rahix's avatar
Rahix committed
182
183
184
185
186
187
188
189
190

### Fixed
- Fixed the Pycardium delay implementation in preparation for features like
  button-interrupts.  Should also be more accurate now.
- Fixed the filter which is used by the ECG app.
- Fixed the display staying off while printing the sleep-messages.
- Improved the USB-Storage mode in the menu app.
- Fixed GPIO module not properly configuring a pin if both IN and ADC are given.
- Added missing documentation for `os.mkdir()` and `os.rename()`.
Rahix's avatar
Rahix committed
191
- Fixed all `-Wextra` warnings, including a few bugs.  Warnings exist for a reason!
Rahix's avatar
Rahix committed
192
193
194
195

### Removed
- Removed unnecessary out-of-bounds checks in display module.  Drawing outside
  the display is now perfectly fine and the pixels will silently be ignored.
Rahix's avatar
Rahix committed
196
197
198
199
200


## [v1.12] - 2019-10-19 - [Leek]
[Leek]: https://card10.badge.events.ccc.de/release/card10-v1.12-Leek.zip

201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
### Added
- **USB Storage mode**!  You can now select 'USB Storage' in the menu and
  access card10's filesystem via USB.  No more rebooting into bootloader!
- LED feedback on boot.  If your display is broken, you can still see it doing
  something now.
- `./tools/pycard10.py --set-time` to set card10's system time from your host.
- 4 new functions in `utime` modules:
  * `set_time_ms()`
  * `set_unix_time_ms()`
  * `unix_time()`
  * `unix_time_ms()`

### Changed
- Updated BLE stack
- Refactored gfx API for drawing images (internal).
- Draw partially clipped primitives in all cases (Fixes menu scrolling
  animation).
- Fatal errors are now handled in a central 'panic' module.

### Fixed
- Make BLE interrupts higher priority than anything else to hopefully increase
  stability.
- Turn off BLE encryption after closing a connection.
- Fixed mainline bootloader being broken.
- Fixed menu entries being ordered by path instead of name.
- Fixed menu crashing without a message.
- Fixed QSTR build-system.
Rahix's avatar
Rahix committed
228
229
230
231
232


## [v1.11] - 2019-09-24 - [Karotte]
[Karotte]: https://card10.badge.events.ccc.de/release/card10-v1.11-Karotte.zip

Rahix's avatar
Rahix committed
233
234
235
236
237
238
239
240
241
242
243
244
### Added
- **Support for sleep-mode instead of full power-off.  This means the RTC now
  retains its state!**
- For debugger users: A GDB macro `task_backtrace` which allows to view
  backtraces of tasks which are currently swapped out.  Use like
  ```text
  (gdb) task_backtrace serial_task_id
  ...
  (gdb) task_backtrace dispatcher_task_id
  ...
  (gdb) task_backtrace ble_task_id
  ```
Rahix's avatar
Rahix committed
245
246
247
- BHI160 magnetometer sensor
- ESB API in Pycardium.
- Monotonic clock API
Rahix's avatar
Rahix committed
248
- New FOSS font ...
Rahix's avatar
Rahix committed
249
250
251

### Changed
- `Display.print()` uses a transparent background when printing with `bg == fg`.
Rahix's avatar
Rahix committed
252
253
- Try different crc16 module during build because different environments might
  have different ones installed.
Rahix's avatar
Rahix committed
254
255
- Improved ECG app, it can now blink on pulse and more!
- Improved BHI160 and BME680 apps.
Rahix's avatar
Rahix committed
256
257
258
259
260
261
262
263
264
265
266
267

### Fixed
- Fixed a regression which made it impossible to turn off the flashlight.
- Fixed CRT for l0dables not allowing to overwrite interrupt handlers.
- Fixed ECG App not closing the sensor on `KeyboardInterrupt`.
- Fixed a bug which made the power-button unresponsive when pressed during boot
  (Interrupts were getting ignored).
- Fixed `simple_menu.Menu.exit()` not actually working.
- Added a few missing locks in `leds` module.
- Added a workaround for BHI160 axis mapping not being applied in some cases.
- Added a critical-section in BLE stack initialization to prevent weird lock-ups.
- Fixed vibra module crashing when calling `vibra.vibrate()` while already running.
Rahix's avatar
Rahix committed
268
- Fixed sensor-sample overflow leading to I2C bus lockup.
Rahix's avatar
Rahix committed
269
270
271
272
273


## [v1.10] - 2019-09-05 21:42 - [JerusalemArtichoke]
[JerusalemArtichoke]: https://card10.badge.events.ccc.de/release/card10-v1.10-JerusalemArtichoke.zip

Rahix's avatar
Rahix committed
274
### Added
Rahix's avatar
Rahix committed
275
276
- **ws2812**: Connect Neopixels to the wristband GPIOs and make your card10
  even more colorful!
Rahix's avatar
Rahix committed
277
- DigiClk is now in the default prelude!
Rahix's avatar
Rahix committed
278
- High-pass filter and pulse detection in default ECG app.
Rahix's avatar
Rahix committed
279
280
- Actually added `uuid` module - it was not built into the firmware before,
  by accident.
Rahix's avatar
Rahix committed
281
282
283
284
- `leds.get_rgb()`: Get the current color of an LED.
- `leds.get_rocket()`: Get the current brightness of one of the rockets.
- `micropython.mem_use()` function.
- The analog-clock can now also set the time using the buttons.
Rahix's avatar
Rahix committed
285
286
287
288

### Changed
- **Pycardium**: Switched from `long-long` to `mpz` integer representation.
  This should resolve any issues with large numbers which had popped up so far.
Rahix's avatar
Rahix committed
289
- Refactored BME680 sensor interface.
Rahix's avatar
Rahix committed
290
291
- Made OpenOCD scripts work with more debuggers out of the box.
- Internal changes in preparation for button-interrupts.
Rahix's avatar
Rahix committed
292
293
294
295

### Fixed
- Backlight and Vibration motor were not reset when switching apps.
- Mismatch in default settings of the *Card10 Nickname* app.
Rahix's avatar
Rahix committed
296
297
- Fixed the PMIC ADC muxer not being properly reset to neutral after a
  measurement.
Rahix's avatar
Rahix committed
298
299
- Fixed wrong timezone offset calculation in `utime.time_ms()`.
- Fixed bug where `\` characters were not parsed as path separators.
Rahix's avatar
Rahix committed
300
301
- Fixed the alignment request check in our ELF l0der.
- Fixed a buffer-overflow in the config-parser.
Rahix's avatar
Rahix committed
302
303
304
305
306


## [v1.9] - 2019-08-28 23:23 - [IcebergLettuce]
[IcebergLettuce]: https://card10.badge.events.ccc.de/release/card10-v1.9-IcebergLettuce.zip

307
### Added
Rahix's avatar
Rahix committed
308
309
310
311
312
313
314
315
316
317
318
- `tools/pycard10.py`: Tool to interact with card10's serial connection and
  upload files directly:
  ```bash
  ./tools/pycard10.py path/to/python-script.py
  ```
- `epic_disp_print_adv` & `Display.print(font=...)`: Print with different
  fonts!  The following fonts are supported: `8px`, `12px`, `16px`, `20px`,
  and `24px`.
- **pycardium**: Support for RAW REPL mode.
- **bhi160**: Function to disable all sensors (`bhi160.disable_all_sensors()`).
- `ls_cmsis_dap`: A tool to enumerate CMSIS-DAP debuggers.
Rahix's avatar
Rahix committed
319
320
321
322
- Tons of new features to `simple_menu`: Timeout, scrolling of long texts,
  robustness against crashes, and proper exiting.
- `card10.cfg` config file which allows enabling *ELF* files.
- Analog read for wristband GPIOs.
323

Rahix's avatar
Rahix committed
324
### Changed
Rahix's avatar
Rahix committed
325
- Refactored *menu* and *personal-state* apps.
Rahix's avatar
Rahix committed
326
327
328
- `main.py` was moved into an app to allow easier reconfiguration of the
  default app.  The new `main.py` points to the "old" one so behavior is not
  changed.
Rahix's avatar
Rahix committed
329
- After a timeout, the menu will close and `main.py` will run again.
Rahix's avatar
Rahix committed
330
331
332
- BLE security updates.
- More detailed battery state display in nickname app.
- Improved ECG app.
Rahix's avatar
Rahix committed
333
334
335
336
337
338

### Removed
- Some unused font files.

### Fixed
- Fixed a regression which made the ECG app no longer work.
Rahix's avatar
Rahix committed
339
340
- Fixed card10 advertising support for AT-commands.
- Rectangles being one pixel too small.
Rahix's avatar
Rahix committed
341

Rahix's avatar
Rahix committed
342
343
344
345
346


## [v1.8] - 2019-08-27 11:38 - [HabaneroChilli]
[HabaneroChilli]: https://card10.badge.events.ccc.de/release/card10-v1.8-HabaneroChilli.zip

Rahix's avatar
Rahix committed
347
### Added
Rahix's avatar
Rahix committed
348
349
350
351
352
- API-call for direct light-sensor readout: `epic_light_sensor_read`.
- Pause mode in ECG-App.
- `bin` field in metatdata for an alternate entrypoint.
- `shell.nix`: Nix-Shell which installs patched OpenOCD and dependencies.
- Cool LED animation in default ECG app.
Rahix's avatar
Rahix committed
353
354
355

### Changed
- No longer require locking the display for setting the backlight.
Rahix's avatar
Rahix committed
356
357
358


## [v1.7] - 2019-08-24 21:48 - [Garlic]
Rahix's avatar
Rahix committed
359
360
[Garlic]: https://card10.badge.events.ccc.de/release/card10-v1.7-Garlic.zip

Rahix's avatar
Rahix committed
361
### Added
Rahix's avatar
Rahix committed
362
363
- **ESB**: Epic Serial Bus (Better than USB!), stability improvements of the
  USB module.  Preparation for mass-storage access in the Firmware.
Rahix's avatar
Rahix committed
364
- Enabled the Hardware Watchdog;  Card10 will reset itself if the firmware crashes
Rahix's avatar
Rahix committed
365
- Log messages when BLE is pairing / connected.
Rahix's avatar
Rahix committed
366
367
- The name of the offending app is printed to the serial console, if an app
  crashes the metatdata parser.
Rahix's avatar
Rahix committed
368
369
370

### Changed
- Improved log messages in cases of lock-contention.
Rahix's avatar
Rahix committed
371
- Menu will show an error message if a crash occurs.
Rahix's avatar
Rahix committed
372
373

### Fixed
Rahix's avatar
Rahix committed
374
- Fixed race-conditions in serial writes by using a queue.
Rahix's avatar
Rahix committed
375
- "Card10 Nickname" crashing if only `nickname.txt` exists.
Rahix's avatar
Rahix committed
376
377
378
- Lockup when debug prints are enabled.
- Delayed BHI160 startup a bit so the PMIC task can check the battery first.
- Relaxed the PMIC lock-timeouts so other task can take a little more time.
Rahix's avatar
Rahix committed
379
380
381
382
- Fixed off-by-one error in `gfx_line()`.
- Fixed the API interrupts sometimes getting stuck.
- Fixed binary building on MacOS.
- Fixed race-conditions in serial console prints by introducing a queue.
Rahix's avatar
Rahix committed
383
- Fixed API & MAX30001 mutexes being initialized late sometimes.
Rahix's avatar
Rahix committed
384
- Fixed wrong stripe width in bi flag.
schneider's avatar
schneider committed
385
386
387


## [v1.6] - 2019-08-23 20:30 - [Fennel]
Rahix's avatar
Rahix committed
388
389
[Fennel]: https://card10.badge.events.ccc.de/release/card10-v1.6-Fennel.zip

Rahix's avatar
Rahix committed
390
391
- Maxim BLE SDK update

Rahix's avatar
Rahix committed
392
### Added
Rahix's avatar
Rahix committed
393
- **BLE**: Added personal state API to card10 SVC.
schneider's avatar
schneider committed
394
395
- **ECG**: Support for ECG + Python app
- **BLE**: Characteristic to read the time
Rahix's avatar
Rahix committed
396
397
398
399
400
401

### Changed
- Improved performance of circle-drawing algorithm.

### Fixed
- Removed a debug print in the `bhi160` module.
Rahix's avatar
Rahix committed
402
403


Rahix's avatar
Rahix committed
404
405
406
## [v1.5] - 2019-08-23 00:18 - [Eggppppplant]
[Eggppppplant]: https://card10.badge.events.ccc.de/release/card10-v1.5-Eggppppplant.zip

Rahix's avatar
Rahix committed
407
408
### Added
- **bootloader**: Add an error message when flashing fails.
409
410
- **display**: Option to set backlight from Python
- **utime**: Function to read time in ms from Python
Rahix's avatar
Rahix committed
411
412
413

### Changed
- **gpio**: Rename constants for consistency.
414
415
- **ble**: Storing pairings outside BLE stack context
- **security**: Disable ELFs by default, prevent access to some more files
Rahix's avatar
Rahix committed
416
417
418
419
420

### Fixed
- **gpio**: Fix field-setting in `gpio_cfg_t`.


Rahix's avatar
Rahix committed
421
422
423
## [v1.4] - 2019-08-22 19:43 - [DaikonRadish]
[DaikonRadish]: https://card10.badge.events.ccc.de/release/card10-v1.4-DaikonRadish.zip

Rahix's avatar
Rahix committed
424
425
426
### Added
- Support for the `bme680` environmental sensor.
- Support for the `bhi160` sensor fusion.
Rahix's avatar
Rahix committed
427
428
429
430
431
- `simple_menu` module for creating simple menus in Python.
- `power` module to access the voltage and current measurements from the PMIC.
- Support for color themes in the default clock script:
  Color themes are read from a json file, so people can customize their clock.
  Last selected theme is saved in the `clock.json` so it is persistent.
Rahix's avatar
Rahix committed
432
433
434

### Changed
- Refactored BLE card10 service.
Rahix's avatar
Rahix committed
435
- Improved BLE file-transfer (added security).
Rahix's avatar
Rahix committed
436
437
438
439
440
441
442
- Replaced dynamic attribute creation with static attributes.

### Fixed
- Fixed menu listing files starting with `.`.
- Fixed `utime.set_time()` applying the timezone offset in the wrong direction.
- Fixed the PMIC driver not releasing some locks properly.

Rahix's avatar
Rahix committed
443

Rahix's avatar
Rahix committed
444
445
446
## [v1.3] - 2019-08-22 00:12 - [CCCauliflower]
[CCCauliflower]: https://card10.badge.events.ccc.de/release/card10-v1.3-cccauliflower.zip

Rahix's avatar
Rahix committed
447
448
449
450
451
452
453
454
455
456
457
458
### Added
- A splashscreen in Epicardium showing the version number.
- `os.urandom()` function.

### Changed
- BLE file-transfers now create missing folders.

### Fixed
- **gfx**: Add a linebreak before character, not after.  This prevent the last
  character being cut off.
- Fixed serial task overflowing because it had a too small stack size.
- Removed confusing MAXUSB messages.
Rahix's avatar
Rahix committed
459
460


Rahix's avatar
Rahix committed
461
462
## [v1.2] - 2019-08-21 18:18 - [Broccoli]
[Broccoli]: https://card10.badge.events.ccc.de/release/card10-v1.2-broccoli.zip
Rahix's avatar
Rahix committed
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491

```text
8e8d8614 feat(apps): Add scope to preload
e1a7684a fix(cdcacm): Disable before printing error
4c74f061 fix(utime.c): set_time should operate in local tz
e0824843 feat(pmic): Switch off if battery is low
46ef3985 feat(pmic): Add API-call to read battery voltage
79e2fb15 feat(epicardium): Periodically check the battery voltage
5da9e074 feat(pmic): Implement AMUX reading
8c59935e py: timezone workaround
c7f59d3e fix(text_reader): Convert to unix line-endings
78a7a7f4 docs: Fix underlines in ble/card10
15649293 feat(app): Add some preloads
b12e4ef9 chore(docs): Fix utime module docs
3efbab13 feat(utime.c): add python functions to set time
38f83243 chore(docs): Fix color documentation
a966e221 chore(docs): Fix python-directives with double-module
66cd10d4 docs: Document os.reset()
5fe5fe31 docs: Document pride module
338132e5 apped apps folder to search module search path
cda91555 rename Main Clock to Home
c2935c8c fixed syntax
3017591a Rename preloaded apps to make use of hatchery folder structure
842e9ad8 feat(menu.py): support scrolling for long menu entries
fbf7c8c0 fix(menu.py) Refactored menu.py based on !138
8aa8c31f feat(ble): Store bondings
5e5c7a4f fix(menu.py): Fix color-mismatch of selector background
```

Rahix's avatar
Rahix committed
492
## [v1.1] - 2019-08-21 03:14 - Asparagus
Rahix's avatar
Rahix committed
493
494
495
496
497
498
499
500
501
502
503
504
### Added
- Seed ``urandom`` PRNG with ``TRNG`` peripheral.
- Show linenumbers in MicroPython tracebacks.

### Fixed
- **buttons**: Acquire lock before accessing I2C.
- **rtc**: Fix RTC getting stuck because of improper initialization.
- Make lifecycle task more important than dispatcher.

## [v1.0] - 2019-08-21 00:50
Initial release.

schneider's avatar
schneider committed
505
506
[Unreleased]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.17...master
[v1.17]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.16...v1.17
schneider's avatar
schneider committed
507
[v1.16]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.15...v1.16
schneider's avatar
schneider committed
508
[v1.15]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.14...v1.15
Rahix's avatar
Rahix committed
509
[v1.14]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.13...v1.14
Rahix's avatar
Rahix committed
510
[v1.13]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.12...v1.13
Rahix's avatar
Rahix committed
511
[v1.12]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.11...v1.12
Rahix's avatar
Rahix committed
512
[v1.11]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.10...v1.11
Rahix's avatar
Rahix committed
513
[v1.10]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.9...v1.10
Rahix's avatar
Rahix committed
514
[v1.9]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.8...v1.9
Rahix's avatar
Rahix committed
515
[v1.8]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.7...v1.8
Rahix's avatar
Rahix committed
516
[v1.7]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.6...v1.7
Rahix's avatar
Rahix committed
517
[v1.6]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.5...v1.6
Rahix's avatar
Rahix committed
518
[v1.5]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.4...v1.5
Rahix's avatar
Rahix committed
519
[v1.4]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.3...v1.4
Rahix's avatar
Rahix committed
520
521
522
523
[v1.3]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.2...v1.3
[v1.2]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.1...v1.2
[v1.1]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.0...v1.1
[v1.0]: https://git.card10.badge.events.ccc.de/card10/firmware/-/tags/v1.0