From 36140946ae37820bad8d6de1ab2b2f17dcec52ba Mon Sep 17 00:00:00 2001 From: cyteen Date: Thu, 19 Dec 2024 15:08:49 +0000 Subject: [PATCH] Small changes to docs. --- docs/README_coach.md | 1 + docs/README_concept2.md | 14 +++++---- docs/README_concept2_predictions.md | 5 +++- docs/parse_ITP_spreadsheet.py | 44 +++++++++++++++++++++++++++++ docs/requirements.txt | 3 ++ 5 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 docs/parse_ITP_spreadsheet.py create mode 100644 docs/requirements.txt diff --git a/docs/README_coach.md b/docs/README_coach.md index 1402a85..84db764 100644 --- a/docs/README_coach.md +++ b/docs/README_coach.md @@ -389,6 +389,7 @@ data; however, this method easily introduces noise due to friction during motion | 52820 | 32k | 256k | Untested, should work just as the 832 does | | 52832 | 64/32 KB | 512/256 KB | Enough RAM for additional sensors | | 52840 | 256 KB | 1 MB | Untested; probably overkill for this application| +See: [bthome-presence hardware](https://github.com/kquinsland/bthome-presence/blob/main/hardware/readme.md) * 3x [holyiot 21014]() nRF52810 + lis2dh12 + RGB LED + button * [holyiot 21014 zephyr project](https://github.com/danielstuart14/wlen_project/tree/master/beacon/boards/arm/holyiot_21014) diff --git a/docs/README_concept2.md b/docs/README_concept2.md index 5f6fd31..2872132 100644 --- a/docs/README_concept2.md +++ b/docs/README_concept2.md @@ -1,6 +1,6 @@ # Concept2 Related Information -[ORM Bata Repo](https://github.com/JaapvanEkris/openrowingmonitor) +[ORM Beta Repo](https://github.com/JaapvanEkris/openrowingmonitor) ## [Settings](./docs/rower_settings.md) @@ -82,7 +82,7 @@ crossings in the noise, but still work with a range of signal strength. * [MAX9924 ORM PiHat](https://oshwlab.com/jpbpcb/rower2) * [Extra discussion](https://github.com/laberning/openrowingmonitor/discussions/157) See: /space/code_repositories/hardware/kicad/open_rowing_monitor - * The Extra linked page also has a config.js for a Model C using the max9924. + * The Extra linked page also has a config.js for a Model C using the max9924. The layout does not use a ground plane. * [MAX9924UEVKIT](https://www.analog.com/media/en/technical-documentation/data-sheets/MAX9924UEVKIT.pdf) See: /space/code_repositories/hardware/kicad/MAX9924UEVKIT @@ -103,12 +103,13 @@ The Model D has 6 magnets on the flywheel with a coil/generator setup giving: minimumTimeBetweenImpulses: 0.005, maximumTimeBetweenImpulses: 0.022, -The Model D has some uptake issues in its generator: the first x pulses are very -weak, but when the flywheel gains momentum, it will peak at 15V. +The Model D has some uptake issues in its generator: the first x pulses are +very weak, but when the flywheel gains momentum, it will peak at 15V. ### [Arduino Monitor for Concept2 Model B C D](https://www.instructables.com/ARDUINO-MONITOR-FOR-CONCEPT2-MODEL-B-C-D/) -This project uses an arduino mega 2560 with has 5V tolerant pins but uses analog read. +This project uses an arduino mega 2560 with has 5V tolerant pins but uses +analog read. #### Model B and C @@ -118,7 +119,8 @@ jack) to the analog read pin (1) on the arduino. #### Drag factor -For a new Concept2, the Drag Factor ranges between 80 (Damper setting 1) and 220 (Damper setting 10): +For a new Concept2, the Drag Factor ranges between 80 (Damper setting 1) and +220 (Damper setting 10): * [concept 2 model c damper level 01 oscilloscope data.txt](https://github.com/laberning/openrowingmonitor/files/9336167/concept.2.model.c.damper.level.01.oscilloscope.data.txt) * concept 2 model c damper level 10 [oscilloscope data.txt](https://github.com/laberning/openrowingmonitor/files/9336169/concept.2.model.c.damper.level.10.oscilloscope.data.txt) diff --git a/docs/README_concept2_predictions.md b/docs/README_concept2_predictions.md index 1c620c6..7626b35 100644 --- a/docs/README_concept2_predictions.md +++ b/docs/README_concept2_predictions.md @@ -65,6 +65,9 @@ Given zone: AT: ### Return a training zone from a [training table](Interactive_Training_Plans.xlsx) +See: [parse_ITP_spreadsheet.py](parse_ITP_spreadsheet.py) for a pandas +dataframe parsing and querying the spreadsheet. + Given a level 1-5, a session number and a week number return the associated session eg 3x16'UT1 @@ -272,4 +275,4 @@ base_power_output = 110 watts = calculate_wattage(resting_heart_rate, maximum_heart_rate, heart_rate, base_power_output) print(f"Predicted power: {watts} watts") -``` +``` \ No newline at end of file diff --git a/docs/parse_ITP_spreadsheet.py b/docs/parse_ITP_spreadsheet.py new file mode 100644 index 0000000..620161b --- /dev/null +++ b/docs/parse_ITP_spreadsheet.py @@ -0,0 +1,44 @@ +import pandas as pd + +# Read all sheets from the ODS file +ods_file = 'Interactive_Training_Plans.xlsx' +all_sheets = pd.read_excel(ods_file, sheet_name=None, skiprows=range(4)) + +# Iterate through the sheets and print their names and contents +# for sheet_name, df in all_sheets.items(): +# print(f"Sheet: {sheet_name}") +# print(df.head()) +# print("\n") + +# Iterate through the sheets and print their names +# for sheet_name in all_sheets.keys(): +# if 'Level 5 | 7 sessions | 18 weeks' in sheet_name: +# print(f"Sheet name: {sheet_name}") + +# Return one sheet + +# Assuming 'df' is your DataFrame +week = 9 +session_column = "Session 3" + +for sheet_name, df in all_sheets.items(): + if 'Level 5 | 7 sessions | 18 weeks' in sheet_name: + print(f"Sheet name: {sheet_name}") + print(df.to_string()) + print("\n") + # + # Print available columns + print("Available columns:", df.columns.tolist()) + + # Check if 'Week' column exists + if 'Week' in df.columns: + # Find the row corresponding to week 9 + week_row = df[df["Week"] == week] + + # Get the value in the "Session 3" column for week 9 + value = week_row[session_column].values[0] + + print(f"The value for Session 3 in week {week} is: {value}") + else: + print("The 'Week' column does not exist in the DataFrame.") + print("Please specify a valid column name.") diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..6e2fa30 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,3 @@ +pandas +openpyxl +static_frame