Fix missing documentation for many clock faces:

* Move from .c to .h as needed for consistency.
* When missing from both, copy from pull request or wiki.
* When missing entirely, infer functionality from source code.
This commit is contained in:
Alex Utter
2023-11-27 20:06:19 -08:00
committed by GitHub
parent 3487d742f1
commit 7802994854
91 changed files with 1405 additions and 592 deletions

View File

@@ -25,6 +25,12 @@
#ifndef ACCELEROMETER_DATA_ACQUISITION_FACE_H_
#define ACCELEROMETER_DATA_ACQUISITION_FACE_H_
/*
* ACCELEROMETER DATA ACQUISITION
*
* TODO: Add description here, including controls.
*/
#include "movement.h"
#define ACCELEROMETER_DATA_ACQUISITION_INVALID ((uint64_t)(0b11)) // all bits are 1 when the flash is erased

View File

@@ -22,37 +22,6 @@
* SOFTWARE.
*/
/* Aperture-priority Light Meter Face
*
* Tested with the "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001" flexboard.
* This flexboard could use a revision:
*
* - The thermistor components should be moved west a mm or flipped to the backside
* to avoid stressing the flexboard against the processor so much.
* - The 'no connect' pad falls off easily.
*
* Controls:
*
* - Trigger a measurement by long-pressing Alarm.
* Sensor integration is happening when the Signal indicator is on.
*
* - ISO setting can be cycled by long-pressing Light.
* During integration the current ISO setting will be displayed.
*
* - EV measurement in the top right: "LAP" indicates "half stop".
* So "LAP -1" means EV = -1.5. Likewise "LAP 13" means EV = +13.5
*
* - Aperture in the bottom right: the last 3 main digits are the f-stop.
* Adjust this number in half-stop increments using Alarm = +1/2 and Light = -1/2.
*
* - Best shutter speed in the bottom left: the first 3 digits are the shutter speed.
* Some special chars are needed here: "-" = seconds, "h" = extra half second, "K" = thousands.
* "HI" or "LO" if there's no shutter in the dictionary within 0.5 stops of correct exposure.
*
* - Mode long-press changes the main digits to show raw sensor lux measurements.
*
*/
#include <stdlib.h>
#include <string.h>
#include <math.h>

View File

@@ -25,6 +25,37 @@
#ifndef LIGHTMETER_FACE_H_
#define LIGHTMETER_FACE_H_
/*
* Aperture-priority Light Meter Face
*
* Tested with the "Q3Q-SWAB-A1-00 Temperature + Test Points + OPT3001" flexboard.
* This flexboard could use a revision:
*
* - The thermistor components should be moved west a mm or flipped to the backside
* to avoid stressing the flexboard against the processor so much.
* - The 'no connect' pad falls off easily.
*
* Controls:
*
* - Trigger a measurement by long-pressing Alarm.
* Sensor integration is happening when the Signal indicator is on.
*
* - ISO setting can be cycled by long-pressing Light.
* During integration the current ISO setting will be displayed.
*
* - EV measurement in the top right: "LAP" indicates "half stop".
* So "LAP -1" means EV = -1.5. Likewise "LAP 13" means EV = +13.5
*
* - Aperture in the bottom right: the last 3 main digits are the f-stop.
* Adjust this number in half-stop increments using Alarm = +1/2 and Light = -1/2.
*
* - Best shutter speed in the bottom left: the first 3 digits are the shutter speed.
* Some special chars are needed here: "-" = seconds, "h" = extra half second, "K" = thousands.
* "HI" or "LO" if there's no shutter in the dictionary within 0.5 stops of correct exposure.
*
* - Mode long-press changes the main digits to show raw sensor lux measurements.
*/
#include "movement.h"
#include "opt3001.h"

View File

@@ -25,6 +25,34 @@
#ifndef THERMISTOR_LOGGING_FACE_H_
#define THERMISTOR_LOGGING_FACE_H_
/*
* THERMISTOR LOGGING (aka Temperature Log)
*
* This watch face automatically logs the temperature once an hour, and
* maintains a 36-hour log of readings. This watch face is admittedly rather
* complex, and bears some explanation.
*
* The main display shows the letters “TL” in the top left, indicating the
* name of the watch face. At the top right, it displays the index of the
* reading; 0 represents the most recent reading taken, 1 represents one
* hour earlier, etc. The bottom line in this mode displays the logged
* temperature.
*
* A short press of the “Alarm” button advances to the next oldest reading;
* you will see the number at the top right advance from 0 to 1 to 2, all
* the way to 35, the oldest reading available.
*
* A short press of the “Light” button will briefly display the timestamp
* of the reading. The letters at the top left will display the word “At”,
* and the main line will display the timestamp of the currently displayed
* data point. The number in the top right will display the day of the month
* for the given data point; for example, you can read “At 22 3:00 PM” as
* ”At 3:00 PM on the 22nd”.
*
* If you need to illuminate the LED to read the data point, long press the
* Light button and release it.
*/
#include "movement.h"
#include "watch.h"

View File

@@ -25,6 +25,29 @@
#ifndef THERMISTOR_READOUT_FACE_H_
#define THERMISTOR_READOUT_FACE_H_
/*
* THERMISTOR READOUT (aka Temperature Display)
*
* This watch face is designed to work with either the Temperature + GPIO
* sensor board or the Temperature + Light sensor board. It reads the current
* temperature from the thermistor voltage divider on the sensor board, and
* displays the current temperature in degrees Celsius.
*
* When the watch is on your wrist, your body heat interferes with an ambient
* temperature reading, but if you set it on a bedside table, strap it to your
* bike handlebars or place it outside of your tent while camping, this watch
* face can act as a digital thermometer for displaying ambient conditions.
*
* The temperature sensor watch face automatically samples the temperature
* once every five seconds, and it illuminates the Signal indicator just
* before taking a reading.
*
* Pressing the ALARM button toggles the unit display from Celsius to
* Fahrenheit. Technically this sets the global “Metric / Imperial” flag, so
* any other watch face that displays localizable units will display them in
* the system selected here.
*/
#include "movement.h"
void thermistor_readout_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);

View File

@@ -28,11 +28,6 @@
#include "thermistor_driver.h"
#include "watch.h"
// This watch face is designed for testing temperature sensor boards.
// It displays temperature readings at a relatively fast rate of 8 Hz,
// and disables low energy mode so my testing device doesn't sleep.
// You more than likely want to use thermistor_readout_face instead.
static void _thermistor_testing_face_update_display(bool in_fahrenheit) {
thermistor_driver_enable();
float temperature_c = thermistor_driver_get_temperature();

View File

@@ -25,6 +25,17 @@
#ifndef THERMISTOR_TESTING_FACE_H_
#define THERMISTOR_TESTING_FACE_H_
/*
* THERMISTOR TESTING FACE
*
* This watch face is designed for testing temperature sensor boards.
* It displays temperature readings at a relatively fast rate of 8 Hz,
* and disables low energy mode so my testing device doesn't sleep.
* You more than likely want to use thermistor_readout_face instead.
*
* Press ALARM to toggle display of metric vs. imperial units.
*/
#include "movement.h"
void thermistor_testing_face_setup(movement_settings_t *settings, uint8_t watch_face_index, void ** context_ptr);