Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.1.0 #110

Merged
merged 3 commits into from
Jul 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,29 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


<!--
## [Unreleased]
-->

## [1.1.0] - 2024-07-24

### Changed
- Update README.
- Bump USB API to 1.2.
- Use fwup-util instead of dfu-util in firmware Makefile.

### Added
- Print info for multiple devices with `apollo info`.
- Add vendor request for ADC debugging.
- Add optional timeout to `ApolloDebugger._find_device`.

### Deprecated
- Deprecate `print_device_info()`.

### Fixed
- Extend Cynthion r1.4 hardware revision detection voltage range.
- Always force FPGA offline for `apollo flash-info`.
- Force FPGA offline before reading flash UID in `apollo info`.
- Allow up to 5 seconds for re-enumeration after handoff of shared USB port.


Expand Down Expand Up @@ -115,7 +132,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Initial release.


[Unreleased]: https://github.com/greatscottgadgets/apollo/compare/v1.0.7...HEAD
[Unreleased]: https://github.com/greatscottgadgets/apollo/compare/v1.1.0...HEAD
[1.1.0]: https://github.com/greatscottgadgets/apollo/compare/v1.0.7...v1.1.0
[1.0.7]: https://github.com/greatscottgadgets/apollo/compare/v1.0.6...v1.0.7
[1.0.6]: https://github.com/greatscottgadgets/apollo/compare/v1.0.5...v1.0.6
[1.0.5]: https://github.com/greatscottgadgets/apollo/compare/v1.0.4...v1.0.5
Expand Down
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,16 @@ Apollo consists of two main parts: firmware for the on-board debug microcontroll

## Installing Host Software

To install the apollo-fpga Python module and the `apollo` command-line tool or to upgrade them to the latest version run:
If you have a Cynthion, Apollo host software is installed automatically as a dependency when you [install Cynthion software](https://cynthion.readthedocs.io/en/latest/getting_started.html#cynthion-host-software-installation).

To explicitly install the apollo-fpga Python module and the `apollo` command-line tool or to upgrade them to the latest version run:
```
pip install --upgrade apollo-fpga
```

## Building and Installing Firmware

To upgrade Apollo firmware on a Cynthion it is typically not necessary to compile the firmware yourself. Instead follow [Upgrading Cynthion Device Firmware](https://cynthion.readthedocs.io/en/latest/getting_started.html#upgrading-cynthion-device-firmware).
To upgrade Apollo firmware on a Cynthion it is typically not necessary to compile the firmware yourself. Instead follow [Upgrading Cynthion Device Firmware](https://cynthion.readthedocs.io/en/latest/getting_started.html#updating-cynthion-microcontroller-firmware-and-fpga-configuration-flash).

To compile and install onto Cynthion run:

Expand All @@ -22,13 +24,15 @@ $ cd apollo/firmware
$ make APOLLO_BOARD=cynthion get-deps dfu
```

This will download dependencies, compile the firmware, and install it onto Cynthion with [Saturn-V](https://github.com/greatscottgadgets/saturn-v).
This will download dependencies, compile the firmware, and install it onto Cynthion with [pyfwup](https://github.com/greatscottgadgets/pyfwup) and [Saturn-V](https://github.com/greatscottgadgets/saturn-v).

Alternatively you can use variables to specify an older hardware revision:
Alternatively you can use variables to specify a different board or a fixed hardware revision:

```
$ cd apollo/firmware
$ make APOLLO_BOARD=cynthion BOARD_REVISION_MAJOR=0 BOARD_REVISION_MINOR=3 get-deps dfu
$ make APOLLO_BOARD=cynthion BOARD_REVISION_MAJOR=1 BOARD_REVISION_MINOR=4 get-deps dfu
```

A specified revision will override automatic hardware revision detection which is supported on Cynthion r0.6 and above. You must specify the revision to compile firmware for a Cynthion older than r0.6.

Once installation is complete, LED A should activate, indicating that Apollo is running.
2 changes: 1 addition & 1 deletion firmware/src/vendor.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include "board_rev.h"

#define USB_API_MAJOR 1
#define USB_API_MINOR 1
#define USB_API_MINOR 2


// Supported vendor requests.
Expand Down