AllenNeuralDynamics / AllenNeuralDynamics/harp.device.cuttlefish

Interface Overhaul

Offen
#31 4 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @Poofjunior Auf GitHub ansehen
MVP
Vorherrschende Sprache
C#
Sterne
0
Forks
2
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

To crystallize the overall function of the board, here's a summary:
* general purpose input/output (set/clear groups of pins configured to do so)
* input probing: produce events when specified pins change
* PWM output up to ~1-2KHz

To get there, let's rewrite the interface to reflect the features above and group functionality in the above ordering.

### GPIO Features
* `PortDir`
* `PortState`
* `PortSet`
* `PortClear`

### Edge Event Settings
* `EnableRisingEdgeEvents`
* `EnableFallingEdgeEvents`
* `RisingEdgeEvents`
* `FallingEdgeEvents`

### PWM Settings
* `PWMStart`
* bitmask. writing 1 starts the corresponding pwm output.
* `PWMStop`
* bitmask. writing 1 stops the corresponding pwm output.
* _maybe_: Issue `Event` when a PWM sequence completes if set to issue a finite number of pulses.
* `PWM0Settings`
* `offset_us` (`uint32_t`)
* `on_time_us` (`uint32_t`)
* `off_time_us` (`uint32_t`)
* `inverted` (`uint8_t`)
* ...
* `PWMNSettings`

### Errors
* `ErrorState`
* bitmask. Errors include:
* Schedule cannot keep up with PWM Settings.
* Cannot Dispatch Edge Events to the PC fast enough.
* Device is running in external-io-mode and has no software control of the pins.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.