CHANGELOG.md 7.63 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]
7
### Added
Rahix's avatar
Rahix committed
8 9 10 11 12 13 14 15 16 17 18
- `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.
19

Rahix's avatar
Rahix committed
20 21 22 23
### Changed
- `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
24 25 26 27 28 29 30 31
- After a timeout, the menu will close and `main.py` will run again.

### Removed
- Some unused font files.

### Fixed
- Fixed a regression which made the ECG app no longer work.

Rahix's avatar
Rahix committed
32 33 34 35 36


## [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
37
### Added
Rahix's avatar
Rahix committed
38 39 40 41 42
- 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
43 44 45

### Changed
- No longer require locking the display for setting the backlight.
Rahix's avatar
Rahix committed
46 47 48


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

Rahix's avatar
Rahix committed
51
### Added
Rahix's avatar
Rahix committed
52 53
- **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
54
- Enabled the Hardware Watchdog;  Card10 will reset itself if the firmware crashes
Rahix's avatar
Rahix committed
55
- Log messages when BLE is pairing / connected.
Rahix's avatar
Rahix committed
56 57
- The name of the offending app is printed to the serial console, if an app
  crashes the metatdata parser.
Rahix's avatar
Rahix committed
58 59 60

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

### Fixed
Rahix's avatar
Rahix committed
64
- Fixed race-conditions in serial writes by using a queue.
Rahix's avatar
Rahix committed
65
- "Card10 Nickname" crashing if only `nickname.txt` exists.
Rahix's avatar
Rahix committed
66 67 68
- 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
69 70 71 72
- 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
73
- Fixed API & MAX30001 mutexes being initialized late sometimes.
Rahix's avatar
Rahix committed
74
- Fixed wrong stripe width in bi flag.
schneider's avatar
schneider committed
75 76 77


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

Rahix's avatar
Rahix committed
80 81
- Maxim BLE SDK update

Rahix's avatar
Rahix committed
82
### Added
Rahix's avatar
Rahix committed
83
- **BLE**: Added personal state API to card10 SVC.
schneider's avatar
schneider committed
84 85
- **ECG**: Support for ECG + Python app
- **BLE**: Characteristic to read the time
Rahix's avatar
Rahix committed
86 87 88 89 90 91

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

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


Rahix's avatar
Rahix committed
94 95 96
## [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
97 98
### Added
- **bootloader**: Add an error message when flashing fails.
99 100
- **display**: Option to set backlight from Python
- **utime**: Function to read time in ms from Python
Rahix's avatar
Rahix committed
101 102 103

### Changed
- **gpio**: Rename constants for consistency.
104 105
- **ble**: Storing pairings outside BLE stack context
- **security**: Disable ELFs by default, prevent access to some more files
Rahix's avatar
Rahix committed
106 107 108 109 110

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


Rahix's avatar
Rahix committed
111 112 113
## [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
114 115 116
### Added
- Support for the `bme680` environmental sensor.
- Support for the `bhi160` sensor fusion.
Rahix's avatar
Rahix committed
117 118 119 120 121
- `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
122 123 124

### Changed
- Refactored BLE card10 service.
Rahix's avatar
Rahix committed
125
- Improved BLE file-transfer (added security).
Rahix's avatar
Rahix committed
126 127 128 129 130 131 132
- 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
133

Rahix's avatar
Rahix committed
134 135 136
## [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
137 138 139 140 141 142 143 144 145 146 147 148
### 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
149 150


Rahix's avatar
Rahix committed
151 152
## [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
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181

```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
182
## [v1.1] - 2019-08-21 03:14 - Asparagus
Rahix's avatar
Rahix committed
183 184 185 186 187 188 189 190 191 192 193 194
### 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.

Rahix's avatar
Rahix committed
195 196
[Unreleased]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.8...master
[v1.8]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.7...v1.8
Rahix's avatar
Rahix committed
197
[v1.7]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.6...v1.7
Rahix's avatar
Rahix committed
198
[v1.6]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.5...v1.6
Rahix's avatar
Rahix committed
199
[v1.5]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.4...v1.5
Rahix's avatar
Rahix committed
200
[v1.4]: https://git.card10.badge.events.ccc.de/card10/firmware/compare/v1.3...v1.4
Rahix's avatar
Rahix committed
201 202 203 204
[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