SYMBOL INDEX (126 symbols across 45 files) FILE: electronics/scripts/export_jlcpcb.py function export_jlcpcb (line 36) | def export_jlcpcb(pcb, schematic, alt_fields, release_prefix): FILE: electronics/scripts/export_util.py class PopenContext (line 37) | class PopenContext(subprocess.Popen): method __enter__ (line 38) | def __enter__(self): method __exit__ (line 40) | def __exit__(self, type, value, traceback): function xdotool (line 52) | def xdotool(command): function wait_for_window (line 55) | def wait_for_window(name, window_regex, additional_commands=None, timeou... function recorded_xvfb (line 74) | def recorded_xvfb(video_filename, **xvfb_args): function get_versioned_contents (line 86) | def get_versioned_contents(filename, release_search_prefix): function versioned_file (line 112) | def versioned_file(filename, release_search_prefix): function patch_config (line 126) | def patch_config(filename, replacements): FILE: electronics/scripts/generate_pdf.py function run (line 32) | def run(pcb_file, release_prefix): function plot_to_directory (line 43) | def plot_to_directory(pcb_file, output_directory, temp_dir, release_pref... FILE: electronics/scripts/pcb_util.py function versioned_board (line 32) | def versioned_board(filename, release_search_prefix): function get_plotter (line 44) | def get_plotter(pcb_filename, build_directory, release_prefix): class Plotter (line 49) | class Plotter(object): method __init__ (line 50) | def __init__(self, board, build_directory): method plot (line 64) | def plot(self, layer, plot_format): method plot_drill (line 74) | def plot_drill(self): FILE: firmware/lib/tlv/src/Tlv493d.cpp function Tlv493d_Error_t (line 161) | Tlv493d_Error_t Tlv493d::updateData(void) FILE: firmware/lib/tlv/src/Tlv493d.h type Tlv493d_Address_t (line 42) | typedef enum Tlv493d_Address type Tlv493d_Error_t (line 49) | typedef enum Tlv493d_Error function class (line 70) | class Tlv493d FILE: firmware/lib/tlv/src/util/BusInterface.h function namespace (line 42) | namespace tlv493d FILE: firmware/lib/tlv/src/util/BusInterface2.h function namespace (line 41) | namespace tlv493d FILE: firmware/lib/tlv/src/util/RegMask.h function namespace (line 41) | namespace tlv493d FILE: firmware/lib/tlv/src/util/Tlv493d_conf.h function namespace (line 56) | namespace tlv493d FILE: firmware/src/configuration.cpp function PB_PersistentConfiguration (line 106) | PB_PersistentConfiguration Configuration::get() { FILE: firmware/src/configuration.h function class (line 12) | class Configuration { function class (line 35) | class FatGuard { FILE: firmware/src/display_task.cpp function drawPlayButton (line 23) | static void drawPlayButton(TFT_eSprite& spr, int x, int y, int width, in... function QueueHandle_t (line 198) | QueueHandle_t DisplayTask::getKnobStateQueue() { FILE: firmware/src/display_task.h function class (line 12) | class DisplayTask : public Task { function class (line 44) | class DisplayTask {} FILE: firmware/src/interface_callbacks.h type std (line 7) | typedef std::function ConfigCallback; type std (line 8) | typedef std::function MotorCalibrationCallback; FILE: firmware/src/logger.h function class (line 3) | class Logger { FILE: firmware/src/main.cpp function setup (line 21) | void setup() { function loop (line 44) | void loop() { FILE: firmware/src/motor_task.h function CommandType (line 13) | enum class CommandType { FILE: firmware/src/mt6701_sensor.cpp function CRC6_43_18bit (line 19) | static uint8_t CRC6_43_18bit (uint32_t w_InputData) function MT6701Error (line 135) | MT6701Error MT6701Sensor::getAndClearError() { FILE: firmware/src/mt6701_sensor.h type MT6701Error (line 6) | struct MT6701Error { function class (line 12) | class MT6701Sensor : public Sensor { FILE: firmware/src/proto_gen/smartknob.pb.h type PB_Ack (line 14) | typedef struct _PB_Ack { type PB_Log (line 18) | typedef struct _PB_Log { type PB_SmartKnobConfig (line 22) | typedef struct _PB_SmartKnobConfig { type PB_SmartKnobState (line 121) | typedef struct _PB_SmartKnobState { type PB_FromSmartKnob (line 157) | typedef struct _PB_FromSmartKnob { type PB_RequestState (line 167) | typedef struct _PB_RequestState { type PB_ToSmartknob (line 172) | typedef struct _PB_ToSmartknob { type PB_MotorCalibration (line 182) | typedef struct _PB_MotorCalibration { type PB_StrainCalibration (line 189) | typedef struct _PB_StrainCalibration { type PB_PersistentConfiguration (line 194) | typedef struct _PB_PersistentConfiguration { FILE: firmware/src/semaphore_guard.h function class (line 20) | class SemaphoreGuard { FILE: firmware/src/serial/crc32.cpp function crc32_for_byte (line 8) | static uint32_t crc32_for_byte(uint32_t r) { function crc32 (line 14) | void crc32(const void *data, size_t n_bytes, uint32_t* crc) { FILE: firmware/src/serial/proto_helpers.h function config_eq (line 7) | bool config_eq(PB_SmartKnobConfig& first, PB_SmartKnobConfig& second) { function state_eq (line 23) | bool state_eq(PB_SmartKnobState& first, PB_SmartKnobState& second) { FILE: firmware/src/serial/serial_protocol.h type std (line 11) | typedef std::function ProtocolChangeCallback; function class (line 13) | class SerialProtocol : public Logger { FILE: firmware/src/serial/serial_protocol_plaintext.h type std (line 10) | typedef std::function DemoConfigChangeCallback; type std (line 11) | typedef std::function StrainCalibrationCallback; function class (line 13) | class SerialProtocolPlaintext : public SerialProtocol { FILE: firmware/src/serial/serial_protocol_protobuf.h function class (line 12) | class SerialProtocolProtobuf : public SerialProtocol { FILE: firmware/src/serial/uart_stream.h function class (line 29) | class UartStream : public Stream { FILE: firmware/src/task.h function TaskHandle_t (line 34) | TaskHandle_t getHandle() { function begin (line 38) | void begin() { FILE: firmware/src/tlv_sensor.h function class (line 6) | class TlvSensor : public Sensor { FILE: firmware/src/util.cpp function lerp (line 3) | float lerp(const float value, const float inMin, const float inMax, cons... FILE: proto/generate_protobuf.py function run (line 11) | def run(): FILE: software/js/packages/example-webserial-basic/src/App.tsx type Config (line 9) | type Config = NoUndefinedField type AppProps (line 27) | type AppProps = object FILE: software/js/packages/example-webserial-basic/src/util.ts type NoUndefinedField (line 17) | type NoUndefinedField = { function findNClosest (line 21) | function findNClosest(numbers: number[], target: number, n: number): num... FILE: software/js/packages/example-webserial-timeline/src/App.tsx constant MIN_ZOOM (line 14) | const MIN_ZOOM = 0.01 constant MAX_ZOOM (line 15) | const MAX_ZOOM = 60 constant PIXELS_PER_POSITION (line 17) | const PIXELS_PER_POSITION = 5 type Mode (line 19) | enum Mode { type PlaybackState (line 25) | type PlaybackState = { type InterfaceState (line 30) | type InterfaceState = { type Config (line 34) | type Config = NoUndefinedField & { type AppProps (line 38) | type AppProps = { type TimelineProps (line 465) | type TimelineProps = { FILE: software/js/packages/example-webserial-timeline/src/types.tsx type VideoInfo (line 1) | type VideoInfo = { FILE: software/js/packages/example-webserial-timeline/src/util.ts type NoUndefinedField (line 17) | type NoUndefinedField = { function findNClosest (line 21) | function findNClosest(numbers: number[], target: number, n: number): num... FILE: software/js/packages/smartknobjs-core/src/cobs.ts function encode (line 3) | function encode(buf: Uint8Array) { function decode (line 31) | function decode(buf: Uint8Array) { FILE: software/js/packages/smartknobjs-core/src/index.ts constant PROTOBUF_PROTOCOL_VERSION (line 6) | const PROTOBUF_PROTOCOL_VERSION = 1 type MessageCallback (line 8) | type MessageCallback = (message: PB.FromSmartKnob) => void type SendBytes (line 9) | type SendBytes = (packet: Uint8Array) => void type QueueEntry (line 11) | type QueueEntry = { class SmartKnobCore (line 18) | class SmartKnobCore { method constructor (line 45) | constructor(onMessage: MessageCallback, sendBytes: SendBytes) { method sendConfig (line 51) | public sendConfig(config: PB.SmartKnobConfig): void { method onReceivedData (line 59) | protected onReceivedData(data: Uint8Array) { method enqueueMessage (line 109) | private enqueueMessage(message: PB.ToSmartknob) { method handleAck (line 130) | private handleAck(nonce: number): void { method serviceQueue (line 143) | private serviceQueue(): void { FILE: software/js/packages/smartknobjs-node/src/index.ts class SmartKnobNode (line 4) | class SmartKnobNode extends SmartKnobCore { method constructor (line 7) | constructor(serialPath: string, onMessage: MessageCallback) { FILE: software/js/packages/smartknobjs-webserial/src/index.ts class SmartKnobWebSerial (line 3) | class SmartKnobWebSerial extends SmartKnobCore { method constructor (line 7) | constructor(port: SerialPort, onMessage: MessageCallback) { method openAndLoop (line 20) | public async openAndLoop() { method onError (line 55) | private onError(e: unknown) { FILE: software/python/simple_example.py function _run_example (line 17) | def _run_example(): FILE: software/python/smartknob_io.py class Smartknob (line 40) | class Smartknob(object): method __init__ (line 43) | def __init__(self, serial_instance): method _read_loop (line 54) | def _read_loop(self): method _process_frame (line 71) | def _process_frame(self, frame): method _write_loop (line 113) | def _write_loop(self): method _enqueue_message (line 147) | def _enqueue_message(self, message): method set_config (line 171) | def set_config(self, config): method start (line 176) | def start(self): method shutdown (line 182) | def shutdown(self): method add_handler (line 192) | def add_handler(self, message_type, handler): method _remove_handler (line 197) | def _remove_handler(self, message_type, handler): method request_state (line 201) | def request_state(self): method hard_reset (line 206) | def hard_reset(self): function smartknob_context (line 215) | def smartknob_context(serial_port, default_logging=True, wait_for_comms=... function ask_for_serial_port (line 244) | def ask_for_serial_port(): FILE: util/file_util.py function mkdir_p (line 6) | def mkdir_p(path): FILE: util/rev_info.py function git_short_rev (line 7) | def git_short_rev(): function current_date (line 18) | def current_date(): function git_date (line 21) | def git_date(short=True): function git_release_version (line 37) | def git_release_version(search_prefix, fallback=None):