414: Feature/generic stream r=jordens a=ryan-summers
This PR fixes#385 by improving the semantics by which streams are generated. Specifically, serialization format is now application-defined and data is only copied once.
TODO:
- [x] Add documentation for streaming architecture
- [x] Add format specifiers
- [x] Clean up reception script
- [x] Update lockin serialization
Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
416: relicense as MIT OR Apache-2.0 r=jordens a=jordens
close#413
For explicit individual contributor permissions see the issue.
Co-authored-by: Robert Jördens <rj@quartiq.de>
412: Updating IO expander to be configured before AD9959 r=jordens a=ryan-summers
This PR fixes#411 by refactoring the code to initialize the IO expander before the AD9959. It was discovered that the oscillator to the AD9959 may not be enabled due to a floating MOSFET gate. This was causing register configs to fail.
The fix configures the IO expander first to ensure that the OSC_ENn signal is de-asserted to enable the AD9959 oscillator.
Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
409: Updating NAL and minimq to allow broker reconnection r=jordens a=ryan-summers
This PR updates the smoltcp-nal and minimq dependencies to resolve an issue that was encountered where Stabilizer would not reconnect to the Broker if the broker was restarted.
### Testing
I started stabilizer, waited for telemetry to come in via MQTT, then restarted mosquitto. I observed my client disconnect, and then after a few seconds, observed a reconnection and telemetry resumed.
Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
388: Feature/scan mode r=jordens a=ryan-summers
This PR is to add visibility on design decisions for the scan mode implementation for #86
This PR:
* Adds a signal generator for sinusoids, triangular waves, and square waves to both channels of `dual-iir`
Testing:
The new signal generator was scanned across 0-100% symmetry for all waveform types using frequencies of 500-1KHz. It was observed on an oscilloscope to contain nominal, well-formed outputs.
Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
405: Accelerating doc CI tests r=jordens a=ryan-summers
This PR fixes#403 by utilize github actions caches to accelerate the doc test CI check. `cargo-deadlinks` is cached, ruby gems are cached, and Rust dependency installations are cached.
Questions:
Should the Rust cache be tagged on a specific key so that we don't pollute the cache with each PR?
Co-authored-by: Ryan Summers <ryan.summers@vertigo-designs.com>
397: build(deps): bump heapless from 0.7.2 to 0.7.3 r=jordens a=dependabot[bot]
Bumps [heapless](https://github.com/japaric/heapless) from 0.7.2 to 0.7.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/japaric/heapless/blob/master/CHANGELOG.md">heapless's changelog</a>.</em></p>
<blockquote>
<h2>[v0.7.3] - 2021-07-1</h2>
<h3>Changed</h3>
<ul>
<li><code>Box::freeze</code> is deprecated due to possibility of undefined behavior.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2390ab798c"><code>2390ab7</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/japaric/heapless/issues/217">#217</a> from japaric/deprecate-freeze-v0.7.3</li>
<li><a href="01f16f1716"><code>01f16f1</code></a> Deprecate <code>Box::freeze</code>, prepare v0.7.3</li>
<li>See full diff in <a href="https://github.com/japaric/heapless/compare/v0.7.2...v0.7.3">compare view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=heapless&package-manager=cargo&previous-version=0.7.2&new-version=0.7.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>