Archive STM32 firmware to legacy/stm32/: - src/, include/, lib/USB_CDC/, platformio.ini, test stubs, flash_firmware.py - test/test_battery_adc.c, test_hw_button.c, test_pid_schedule.c, test_vesc_can.c, test_can_watchdog.c - USB_CDC_BUG.md Rename: stm32_protocol → esp32_protocol, mamba_protocol → balance_protocol, stm32_cmd_node → esp32_cmd_node, stm32_cmd_params → esp32_cmd_params, stm32_cmd.launch.py → esp32_cmd.launch.py, test_stm32_protocol → test_esp32_protocol, test_stm32_cmd_node → test_esp32_cmd_node Content cleanup across all files: - Mamba F722S → ESP32-S3 BALANCE - BlackPill → ESP32-S3 IO - STM32F722/F7xx → ESP32-S3 - stm32Mode/Version/Port → esp32Mode/Version/Port - STM32 State/Mode labels → ESP32 State/Mode - Jetson Nano → Jetson Orin Nano Super - /dev/stm32 → /dev/esp32 - stm32_bridge → esp32_bridge - STM32 HAL → ESP-IDF docs/SALTYLAB.md: - Update "Drone FC Details" to describe ESP32-S3 BALANCE board (Waveshare ESP32-S3 Touch LCD 1.28) - Replace verbose "Self-Balancing Control" STM32 section with brief note pointing to SAUL-TEE-SYSTEM-REFERENCE.md TEAM.md: Update Embedded Firmware Engineer role to ESP32-S3 / ESP-IDF No new functionality — cleanup only. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
74 lines
1.9 KiB
OpenSCAD
74 lines
1.9 KiB
OpenSCAD
// ============================================
|
|
// SaltyLab — Common Dimensions & Constants
|
|
// ============================================
|
|
|
|
// --- 2020 Aluminum Extrusion ---
|
|
extrusion_w = 20;
|
|
extrusion_slot = 6; // T-slot width
|
|
extrusion_bore = 5; // Center bore M5
|
|
|
|
// --- Hub Motors (8" hoverboard) ---
|
|
motor_axle_dia = 12;
|
|
motor_axle_len = 45;
|
|
motor_axle_flat = 10; // Flat-to-flat if D-shaft
|
|
motor_body_dia = 200; // ~8 inches
|
|
motor_bolt_circle = 0; // Axle-only mount (clamp style)
|
|
|
|
// --- Drone FC (30.5mm standard) ---
|
|
fc_hole_spacing = 25.5; // GEP-F722 AIO v2 (not standard 30.5!)
|
|
fc_hole_dia = 3.2; // M3 clearance
|
|
fc_board_size = 36; // Typical FC PCB
|
|
fc_standoff_h = 5; // Rubber standoff height
|
|
|
|
// --- Jetson Orin Nano Super ---
|
|
jetson_w = 100;
|
|
jetson_d = 80;
|
|
jetson_h = 29; // With heatsink
|
|
jetson_hole_x = 86; // Mounting hole spacing X
|
|
jetson_hole_y = 58; // Mounting hole spacing Y
|
|
jetson_hole_dia = 2.7; // M2.5 clearance
|
|
|
|
// --- RealSense D435i ---
|
|
rs_w = 90;
|
|
rs_d = 25;
|
|
rs_h = 25;
|
|
rs_tripod_offset = 0; // 1/4-20 centered bottom
|
|
rs_mount_dia = 6.5; // 1/4-20 clearance
|
|
|
|
// --- RPLIDAR A1 ---
|
|
lidar_dia = 70;
|
|
lidar_h = 41;
|
|
lidar_mount_circle = 67; // Bolt circle diameter
|
|
lidar_hole_count = 4;
|
|
lidar_hole_dia = 2.7; // M2.5
|
|
|
|
// --- Kill Switch (22mm panel mount) ---
|
|
kill_sw_dia = 22;
|
|
kill_sw_depth = 35; // Behind-panel depth
|
|
|
|
// --- Battery (typical 36V hoverboard pack) ---
|
|
batt_w = 180;
|
|
batt_d = 80;
|
|
batt_h = 40;
|
|
|
|
// --- Hoverboard ESC ---
|
|
esc_w = 80;
|
|
esc_d = 50;
|
|
esc_h = 15;
|
|
|
|
// --- ESP32-C3 (typical dev board) ---
|
|
esp_w = 25;
|
|
esp_d = 18;
|
|
esp_h = 5;
|
|
|
|
// --- WS2812B strip ---
|
|
led_strip_w = 10; // 10mm wide strip
|
|
|
|
// --- General ---
|
|
wall = 3; // Default wall thickness
|
|
m3_clear = 3.2;
|
|
m3_insert = 4.2; // Heat-set insert hole
|
|
m25_clear = 2.7;
|
|
m5_clear = 5.3;
|
|
tol = 0.2; // Print tolerance per side
|