Skip to content

Commit 9f2f465

Browse files
committed
Added some stuff to readme
1 parent d0d43f4 commit 9f2f465

File tree

1 file changed

+41
-5
lines changed

1 file changed

+41
-5
lines changed

readme.md

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ TechnoLib is a FTC Library for everyone:
99
- Annotation based Telemetry
1010
- And much much more
1111

12-
**The goal of this library is stated as follows** The goal of TechnoLib is not only to provide
13-
versatile resources that assist in software development and strengthen code structure, but to also
14-
abstract out redundancy.
12+
### The goal of this library is not only to provide versatile resources that assist in software development and strengthen code structure, but to also abstract out redundancy.
1513

1614
## Installation
1715

@@ -25,11 +23,11 @@ But if this library is so good, it must be hard to install right? wrong:
2523
}
2624
```
2725
- And add this to the dependencies block in TeamCode/build.gradle:
28-
`implementation 'com.github.technototes:TechnoLib:1.2.0'` **(replace 1.2.0 with the latest
26+
`implementation 'com.github.technototes:TechnoLib:1.3.0'` **(replace 1.3.0 with the latest
2927
release)**
3028
- Build the code and you are good to go
3129

32-
### Version 1.2.0 has breaking changes.
30+
### Both versions 1.2.0 and 1.2.0 have breaking changes.
3331

3432
See below for details
3533

@@ -81,3 +79,41 @@ to use the remapAxes function (which has been renamed) and the constructor for t
8179
that you specify the orientation of your control hub. The SDK also changed the axes' orientation on
8280
the hub. You'll be happier by just switching your mental model to the new IMU class (but it's weird
8381
that FIRST changed it :/ )
82+
83+
# Notes from Kevin Frei
84+
85+
Hi, the original author of this libary (Alex Stedman) graduated and went off to college. So now I'm
86+
maintaining it.
87+
88+
I'm an FTC mentor, not an FRC mentor. My goals are to enable capable programmers (often times coming
89+
from Python) to be able to create a functional, _reliable_ robot quickly and easily. Java, and
90+
particularly some Java conventions however, are not always the most conducive language to these
91+
goals. I've made a few minor edits/improvements in the 1.3.0 release, but I'm also prototyping a new
92+
2.0 release during the 2023/2024 season (our students are still using 1.3.0). The point of me
93+
working on the prototype during build/competition season is primarily because I'm watching what
94+
students struggle with, what I'm stuck explaining over & over, etc... and am trying to adjust
95+
the library to be more approachable and easier to interact with.
96+
97+
## Small Ideas
98+
99+
Initially, I found the hardware wrapper types to be mostly just a waste of effort. Now, however, I'm
100+
considering building out MUCH more capability in them. The 2 primary things I'd like to add are:
101+
102+
1. Resilience to disconnected hardware
103+
2. Easy, code-free logging opt-in/opt-out
104+
105+
For item 1, we have a typical setup where we have flags in the "robot" object where we can
106+
'disconnect' a subsystem, thus allowing the bot to continue to function even when specific hardware
107+
isn't connected. This could be done without too much effort, and could potentially also be a nice
108+
stepping stone to some level of hardware simulation.
109+
110+
For item 2, for most of the hardware types, it's often useful to log data from those types (current
111+
power/velocity, current tick values, etc...) but doing so is somewhat clunky. It would be nice if
112+
you could set a flag in the dashboard, or perhaps just add a top-level to the constructor or a
113+
subsystem that would enable/disable logging with little-to-no code changes.
114+
115+
## Big Ideas
116+
117+
Full simulation of a robot would be _tremendously_ helpful. Initially just being able to simulate
118+
all the hardware would be useful. Being able to configure motors, servos, and sensors in a 3
119+
dimensional model, with connections to parts would be MUCH more work (but also MUCH cooler)

0 commit comments

Comments
 (0)