Releases: HumanDynamics/openbadge
New firmware implementation (v3.0)
The new implementation of the badge's firmware. Master's Thesis Michael Hopfengärtner (@MichaelHopfengaertner). It uses the Nordic Semiconductor's SDK v12.3.0 for the nRF51822 chip of the badge.
Various new techniques and methods have been developed and integrated:
- Filesystem: The internal flash-memory of the nRF51822 and the external EEPROM were abstracted and put together to provide one "large" virtual memory with byte level access. On the basis of this virtual memory a filesystem was implemented. It separates the available memory into partitions. A partition can be configured as static or dynamic. Static means that all elements stored in the partition must have the same size. In contrast, dynamic partitions allow a variable size of the elements. In dynamic partitions, a XOR linked list is used as data structure.
- Tinybuf: A serialization library orientated at Google's Protocol Buffers. It enables an efficient serialization of structured data and is used for storage and transmission. It supports C and Python as programming languages. By using Tinybuf, the transmission protocol between the badges and hubs can be extended and adapted easily, enabling a fast development process.
- Time synchronization: An exponential weighted moving average filter was implemented to robustly compensate oscillator frequency drifts during the time synchronization.
- Testing framework: A framework that allows to easily create and execute tests. Optionally, test coverage can be enabled. This allows the developer to see how good the tests are and where to add some more (unit) tests.
- ...
The firmware has a modular and maintainable architecture. This makes it relatively easy to migrate to other platforms.
The new firmware also transmit data twice as fast as the old one, enabling each hub to support more badges.
Migrated BadgeFramework and integration tests to bluepy
Merge pull request #105 from HumanDynamics/dev Fixing raspi issues
Hardware update, 03v6
A new hardware version of the badge. Main changes:
*Accelerometer. Note that the accelerometer works, but badge code does not use it to collect data yet
*Removed real-time clock and all components from the back of the badge
*Removed button
*New on/off switch (more pick&place friendly)
*New battery holder
This version also includes a new firmware update to support and test these changes. Note that ehe test code no longer tests the button in boards 03v4.
Changes to scanner
Part of an effort to re-write the code, making it simpler and more efficient
A large change to the firmware. Includes battery life improvements, a new sampling methodology, much cleaner code, and some utilities to make future development easier.
Firmware fix - proximity and advertisment
Merge pull request #71 from HumanDynamics/adv_data_fix Fix for advertising issue
Added support for iBeacons
Badges can now identify and save proximity to iBeacons
Also, this version includes a bugfix for handling more than 5 badges in the scan results.
Firmware - proximity scans
Note - updated communiction and BLE advertisment protocol
Firmware - audio data, partial chunks sending
This is the first complete firmware version. It samples audio data and stores it to chunks. It will also send partial (incomplete) chunks to support faster updates
Release used for SF17, H1
Note - the master branch does not include small modifications, such as hiding the "hammer" icon