12-26-2022 restore Return-to-Top function. Header-only link is no longer recognized, now requires full URL.
@ -11,7 +11,7 @@ Datalogging can be made available to **FTC Blocks** users, by creating myBlocks
|
||||
|
||||
Many thanks to [@Windwoes](https://github.com/Windwoes) for developing this valuable tool.
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Configure Devices
|
||||
|
||||
@ -43,7 +43,7 @@ Note that the REV Touch Sensor is an "n+1" device; configure it in the **higher*
|
||||
|
||||
When finished, save this as the active configuration.
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Software Overview
|
||||
|
||||
@ -57,7 +57,7 @@ It's also helpful to right-click and Copy, Paste and Rename major revisions of e
|
||||
|
||||
The sample OpMode, and custom versions that you will create, use commands/methods provided in the Datalogger class. That class exists in a [different Java file](https://github.com/FIRST-Tech-Challenge/WikiSupport/blob/master/SampleOpModes/Datalogging/Datalogger.java) that is typically **not edited** by the user. Its inner workings are not covered in this tutorial series.
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Open New Java File
|
||||
|
||||
@ -71,7 +71,7 @@ Click on this new filename to begin editing.
|
||||
|
||||
At line 28, change the OpMode display name from "Concept Datalogger 01" to "Datalog Example v01".
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Declare Hardware
|
||||
|
||||
@ -112,7 +112,7 @@ myPotSensor = hardwareMap.get(AnalogInput.class, "sensorPot");
|
||||
myColorSensor = hardwareMap.get(ColorSensor.class, "sensorColor");
|
||||
```
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Clean up Class Imports
|
||||
|
||||
@ -133,7 +133,7 @@ import com.qualcomm.hardware.bosch.BNO055IMU;
|
||||
import com.qualcomm.robotcore.hardware.VoltageSensor;
|
||||
```
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Set Up Data Fields
|
||||
|
||||
@ -167,7 +167,7 @@ With the above edits, you have specified each data field **name** and its CSV co
|
||||
|
||||
You did not need to research and specify the **Java type** of each data field. This will be handled automatically by the `Datalogger.java` class.
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Set Field Order
|
||||
|
||||
@ -187,7 +187,7 @@ The new version might read as follows, subject to the actual fields you defined
|
||||
)
|
||||
```
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Collect Data for Logging
|
||||
|
||||
@ -228,7 +228,7 @@ As noted far above, the servo method `getPosition()` does not provide feedback f
|
||||
|
||||
The DC motor method `getCurrentPosition()` does provide actual feedback from the motor encoder, if properly connected.
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Post Data to the Log
|
||||
|
||||
@ -244,7 +244,7 @@ Between calls to `writeLine()`, the **order** of collecting datalog fields does
|
||||
|
||||
The datalog receives the timestamp of the call to `writeLine()`, **not** the time of collecting the data (e.g. `datalog.motorEncoder.set()`).
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Telemetry
|
||||
|
||||
@ -263,7 +263,7 @@ Again, **all** datalog fields are saved as **text** in the CSV file. Thus, Driv
|
||||
|
||||
Numeric format codes do not apply for telemetry here, since the log values are no longer numeric. Not to worry, charting software interprets such values as numeric!
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Testing
|
||||
|
||||
@ -301,7 +301,7 @@ Ultimately you could work this code into your existing Autonomous or TeleOp OpMo
|
||||
|
||||
With each new major version, right-click and Copy, Paste and Rename, to save previous/working versions under modified filenames such as v02, v03, etc. It's also good to right-click and Download to the laptop periodically.
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Data Evaluation
|
||||
|
||||
@ -316,7 +316,7 @@ For example, TensorFlow Object Detection (TFOD) methods provide recognition **la
|
||||
- Was the first recognition "real"?
|
||||
- Is the 10th consecutive recognition more trustworthy?
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
## Summary
|
||||
|
||||
@ -326,7 +326,7 @@ FTC students will benefit from this valuable skill, widely used in professional
|
||||
|
||||
You are encouraged to submit and describe other examples that worked for you.
|
||||
|
||||
[<p align="right"><i>Return to Top</i>](#introduction)<p>
|
||||
<p align="right"><i>[[Return to Top|https://github.com/FIRST-Tech-Challenge/FtcRobotController/wiki/Datalogging Part 2, Custom Data]]</i><p>
|
||||
|
||||
===========
|
||||
|
||||
|
Reference in New Issue
Block a user