You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme.md
+41-5Lines changed: 41 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,7 @@ TechnoLib is a FTC Library for everyone:
9
9
- Annotation based Telemetry
10
10
- And much much more
11
11
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.
15
13
16
14
## Installation
17
15
@@ -25,11 +23,11 @@ But if this library is so good, it must be hard to install right? wrong:
25
23
}
26
24
```
27
25
- 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
29
27
release)**
30
28
- Build the code and you are good to go
31
29
32
-
### Version 1.2.0 has breaking changes.
30
+
### Both versions 1.2.0 and 1.2.0 have breaking changes.
33
31
34
32
See below for details
35
33
@@ -81,3 +79,41 @@ to use the remapAxes function (which has been renamed) and the constructor for t
81
79
that you specify the orientation of your control hub. The SDK also changed the axes' orientation on
82
80
the hub. You'll be happier by just switching your mental model to the new IMU class (but it's weird
83
81
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