Skip to content

Support Thrifty Novas again with the YAMS NovaWrapper - #58

Merged
thenetworkgrinch merged 2 commits into
mainfrom
thrifty-nova
Oct 9, 2026
Merged

thenetworkgrinch merged 2 commits into
mainfrom
thrifty-nova

Conversation

@thenetworkgrinch

Copy link
Copy Markdown
Contributor

YAMS 2026.10.09 ships NovaWrapper again (built on ThriftyLib 2027), so YAGSL can drive Thrifty Novas again.

Changes

  • ThriftyBotDevices ported to the ThriftyLib 2027 API (com.thrifty.*) and yams.core.motorcontrollers.local.NovaWrapper.
    • The Nova motor type comes from the configured motor: nova_minion → MINION, nova_pulsar → PULSAR, otherwise NEO.
    • An absolute encoder attached to the Nova sets the Nova's absolute encoder type and direction, and is passed to NovaWrapper as FeedbackSensorType.ABS so it can be the external feedback encoder.
    • Attached analog encoders are now supported.
    • Thrifty CAN encoders use ThriftyLib's CanEncoder.
  • ReflectionsManager checks for com.thrifty.nova.Nova to detect ThriftyLib.
  • ThriftyBotDevices and NovaWrapper are no longer excluded from the vendordep or example builds.
  • Added ThriftyLib-2027.0.0-alpha-5.json to vendordep/vendordeps and both examples.
  • The generated YAGSL vendordeps now require ThriftyLib.
  • YAMS bumped from 2026.10.08 to 2026.10.09.

Notes

  • Nova and Thrifty CAN encoder canbus values must be empty or a numeric bus ID; ThriftyLib doesn't take bus names.
  • No JSON type selects a Thrifty CAN encoder yet; that's unchanged.

Testing

  • New SwerveParserNovaTest builds a full swerve drive with nova_neo drive, nova_minion azimuth and revthroughbore_attached absolute encoders.
  • ./gradlew test and verifyVendordepJsons pass in vendordep/; both examples compile.

YAMS 2026.10.09 ships NovaWrapper again, built on ThriftyLib 2027. Ports ThriftyBotDevices to the ThriftyLib 2027 API (com.thrifty.*) and the YAMS NovaWrapper, picks the Nova motor type from the configured motor, and passes an attached absolute encoder to NovaWrapper as FeedbackSensorType.ABS so it can be used as the external feedback encoder. Attached analog encoders are now supported too.

Builds ThriftyBotDevices again, adds the ThriftyLib vendordep, requires ThriftyLib in the generated YAGSL vendordeps, and bumps YAMS to 2026.10.09. Adds a test that builds a swerve drive on Novas with attached absolute encoders.

Signed-off-by: thenetworkgrinch <thenetworkgrinch@users.noreply.github.com>
…scriptions in JSON and schemas.

Signed-off-by: thenetworkgrinch <thenetworkgrinch@users.noreply.github.com>
@thenetworkgrinch
thenetworkgrinch merged commit e8abcb3 into main Oct 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant