Commit Graph

20 Commits

Author SHA1 Message Date
melfely 851ea6c370 PID fixes.
There was no way to create a PID, becuase of the private fields

I also fixed a divide by 0.0 bug that was 100% going to bite me later if I did not.
2026-06-07 13:32:20 -05:00
melfely 15c0512fef Added a comment for PID struct 2026-06-07 12:50:15 -05:00
melfely 897678bb26 Added derive for PID config fields.
This is so these config fields can be stored as JSON
2026-06-07 12:43:57 -05:00
melfely 35fd1e8532 cargo fmt 2026-06-07 00:36:22 -05:00
melfely 2eae22cb9b Added main logic for PID system and motor system
Quite a bit of the important logic bits have been added for the Controller Trait, and the PID system.
2026-06-07 00:35:15 -05:00
melfely 96bf48095e removed "raw" from motor speed control names 2026-06-07 00:29:58 -05:00
melfely 39192e40f7 setup basic lib.rs file for the main options 2026-06-06 23:59:43 -05:00
melfely db6abc901d Added direction From<I> for i32 and f32
These will be used to easily convert number signs to CCW and CW. Rather than needing to manually do it in each case.

There are also two functions that are present to assist in updating existing direciton variables directions to new ones while handling 0 and NaN in a more intellligient way
2026-06-06 23:56:21 -05:00
melfely 35d30bd213 Motor logic area has been started. 2026-05-24 12:11:37 -05:00
melfely da5431f5f7 Added floating point support for the current and voltage handles.
I do need to implement the Angle stuff.
2026-05-24 11:38:50 -05:00
melfely 42f20b303d readme and comment changes 2026-05-24 10:38:51 -05:00
melfely d9f11b3f8e commented the plan for the for what the sensor trait methods will do. 2026-05-24 10:37:42 -05:00
melfely 1e5f8c15e4 created a generic "units" module, which should be helpful in keeping certain units Correct. 2026-05-24 10:34:40 -05:00
melfely 0846808a4a removed all current communication code. Upper level main core code should be made first.
Upper level Core code, will also all be serde compatible anyways.

Added in alot of comments to many methods and structs for core::motors

Added in a Enum for each major data which will also support conversions from and to more useful dataTypes
2026-05-23 20:59:36 -05:00
melfely 450ea8da91 removed #[repr(u8)] from many structs across the project, I found out that rust by default makes small structs u8s, it is uneeded to do it manually. 2026-05-23 19:58:13 -05:00
melfely a72efcfead updated positional traits to public, so its not upset about dead code. 2026-05-23 18:43:27 -05:00
melfely b7393971e2 Moved some of the things from the "communicatinon" subsection of core directly into core. This is because some of these structs will be needed for logic as well. 2026-05-23 17:45:06 -05:00
melfely eb29b97f9b changed the structure of core::communication.
I think the implementation of the positional.rs is good
2026-05-23 13:59:32 -05:00
melfely 8917d1f81c The starting points have been created. Sweet! 2026-05-22 22:15:10 -05:00
melfely f6dde557bb project started and converted to a lib crate 2026-05-22 21:06:15 -05:00