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.
|
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
|
## 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.
|
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
|
## 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.
|
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
|
## 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".
|
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
|
## Declare Hardware
|
||||||
|
|
||||||
@ -112,7 +112,7 @@ myPotSensor = hardwareMap.get(AnalogInput.class, "sensorPot");
|
|||||||
myColorSensor = hardwareMap.get(ColorSensor.class, "sensorColor");
|
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
|
## Clean up Class Imports
|
||||||
|
|
||||||
@ -133,7 +133,7 @@ import com.qualcomm.hardware.bosch.BNO055IMU;
|
|||||||
import com.qualcomm.robotcore.hardware.VoltageSensor;
|
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
|
## 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.
|
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
|
## 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
|
## 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.
|
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
|
## 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()`).
|
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
|
## 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!
|
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
|
## 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.
|
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
|
## Data Evaluation
|
||||||
|
|
||||||
@ -316,7 +316,7 @@ For example, TensorFlow Object Detection (TFOD) methods provide recognition **la
|
|||||||
- Was the first recognition "real"?
|
- Was the first recognition "real"?
|
||||||
- Is the 10th consecutive recognition more trustworthy?
|
- 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
|
## 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.
|
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