Small tweaks and an update limiter for the esp32

This commit is contained in:
2024-06-07 08:12:49 -04:00
parent b64d946165
commit 37bc951b0b
7 changed files with 1897 additions and 1387 deletions

View File

@@ -37,9 +37,9 @@
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
"drill": 0.0,
"height": 0.8,
"width": 1.65
},
"silk_line_width": 0.15,
"silk_text_italic": false,

View File

@@ -1,4 +1,4 @@
23051446609431364
23125258825931219
2p 3
691214110002S
<b>WR-TBL Serie 2141S - 3.50 mm Horizontal Entry Modular w. Rising Cage Clamp<br></b>Max Height =9.1mm , Pitch 3.5mm , 2 Pins
@@ -67227,6 +67227,307 @@ DIL DIP PDIP 2.54mm 7.62mm 300mil
0
4
4
PCM_Espressif
ESP32-C3-DevKitC-02
0
30
30
PCM_Espressif
ESP32-C3-DevKitM-1
0
30
30
PCM_Espressif
ESP32-C3-MINI-1
ESP32-C3-MINI-1: https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
ESP32-C3
0
61
53
PCM_Espressif
ESP32-C3-MINI-1U
ESP32-C3-MINI-1U: https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
ESP32-C3
0
61
53
PCM_Espressif
ESP32-C3-MINI-1_HandSoldering
ESP32-C3-MINI-1: https://www.espressif.com/sites/default/files/documentation/esp32-c3-mini-1_datasheet_en.pdf
ESP32-C3
0
61
53
PCM_Espressif
ESP32-C3-WROOM-02
ESP32-C3-WROOM-02: https://www.espressif.com/sites/default/files/documentation/esp32-c3-wroom-02_datasheet_en.pdf
ESP32-C3
0
27
19
PCM_Espressif
ESP32-C3-WROOM-02U
ESP32-C3-WROOM-02: https://www.espressif.com/sites/default/files/documentation/esp32-c3-wroom-02_datasheet_en.pdf
ESP32-C3
0
27
19
PCM_Espressif
ESP32-C6-DevKitC-1
ESP32-C6 general-purpose development board, based on ESP32-2-WROOM-1,It has all the ESP32-C6 pins exposed and is easy to connect and use.
ESP32-C6
0
32
32
PCM_Espressif
ESP32-C6-DevKitM-1
ESP32-C6 general-purpose development board, based on ESP32-2-WROOM-1,It has all the ESP32-C6 pins exposed and is easy to connect and use.
ESP32-C6
0
30
30
PCM_Espressif
ESP32-C6-MINI-1
ESP32-C6-MINI-1: https://www.espressif.com/sites/default/files/documentation/esp32-c6-mini-1_datasheet_en.pdf
ESP32-C6
0
61
53
PCM_Espressif
ESP32-C6-MINI-1U
ESP32-C6-MINI-1U: https://www.espressif.com/sites/default/files/documentation/esp32-c6-mini-1_datasheet_en.pdf
ESP32-C6
0
61
53
PCM_Espressif
ESP32-C6-WROOM-1
ESP32-C6-WROOM-1: https://www.espressif.com/sites/default/files/documentation/esp32-c6-wroom-1_datasheet_en.pdf
esp32-c6
0
37
29
PCM_Espressif
ESP32-C6-WROOM-1U
ESP32-C6-WROOM-1U: https://www.espressif.com/sites/default/files/documentation/esp32-c6-wroom-1_wroom-1u_datasheet_en.pdf
esp32-c6
0
37
29
PCM_Espressif
ESP32-DevKitC
ESP32-DevKitC: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-devkitc.html
ESP32
0
38
38
PCM_Espressif
ESP32-H2-MINI-1
ESP32-H2-MINI-1: https://www.espressif.com/sites/default/files/documentation/esp32-h2-mini-1_mini-1u_datasheet_en.pdf
ESP32-H2
0
61
53
PCM_Espressif
ESP32-MINI-1
ESP32-MINI-1: https://www.espressif.com/sites/default/files/documentation/esp32-mini-1_datasheet_en.pdf
ESP32-MINI-1
0
63
55
PCM_Espressif
ESP32-MINI-1U
ESP32-MINI-1U: https://www.espressif.com/sites/default/files/documentation/esp32-mini-1_datasheet_en.pdf
ESP32-MINI-1U
0
63
55
PCM_Espressif
ESP32-PICO-MINI-02
ESP32-PICO-MINI-02: https://www.espressif.com/sites/default/files/documentation/esp32-pico-mini-02_datasheet_en.pdf
ESP32-PICO-MINI-02
0
61
53
PCM_Espressif
ESP32-PICO-MINI-02U
ESP32-PICO-MINI-02U: https://www.espressif.com/sites/default/files/documentation/esp32-pico-mini-02_datasheet_en.pdf
ESP32-PICO-MINI-02U
0
61
53
PCM_Espressif
ESP32-PICO-MINI-02_HandSoldering
ESP32-PICO-MINI-02: https://www.espressif.com/sites/default/files/documentation/esp32-pico-mini-02_datasheet_en.pdf
ESP32-PICO-MINI-02
0
61
53
PCM_Espressif
ESP32-S2-DevKitC-1
ESP32-S2 general-purpose development board, based on ESP32-S2-SOLO or ESP32-S2-SOLO-U,It has all the ESP32-S2 pins exposed and is easy to connect and use.
ESP32-S2
0
44
44
PCM_Espressif
ESP32-S2-DevKitM
ESP32-S2 general-purpose development board
ESP32-S2
0
42
42
PCM_Espressif
ESP32-S2-MINI-1
ESP32-S2-MINI-1 and ESP32-S2-MINI-1U: https://www.espressif.com/sites/default/files/documentation/esp32-s2-mini-1_esp32-s2-mini-1u_datasheet_en.pdf
ESP32-S2
0
73
65
PCM_Espressif
ESP32-S2-MINI-1U
ESP32-S2-MINI-1 and ESP32-S2-MINI-1U: https://www.espressif.com/sites/default/files/documentation/esp32-s2-mini-1_esp32-s2-mini-1u_datasheet_en.pdf
ESP32-S2
0
73
65
PCM_Espressif
ESP32-S2-MINI-1_HandSoldering
ESP32-S2-MINI-1 and ESP32-S2-MINI-1U: https://www.espressif.com/sites/default/files/documentation/esp32-s2-mini-1_esp32-s2-mini-1u_datasheet_en.pdf
ESP32-S2 Hand Soldering
0
73
65
PCM_Espressif
ESP32-S2-SOLO
ESP32-S2-SOLO https://www.espressif.com/sites/default/files/documentation/esp32-s2-solo_esp32-s2-solo-u_datasheet_en.pdf
esp32-s2 module
0
49
41
PCM_Espressif
ESP32-S2-SOLO-2U
ESP32-S2-SOLO-2U https://www.espressif.com/sites/default/files/documentation/esp32-s2-solo-2_esp32-s2-solo-2u_datasheet_en.pdf
esp32-s2 module
0
49
41
PCM_Espressif
ESP32-S2-Saola-1
Espressif ESP32-S2-Saola-1 Development Kit: https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-saola-1-v1.2.html
esp32-s2 devkit
0
42
42
PCM_Espressif
ESP32-S2-WROOM
ESP32-S2-WROOM and ESP32-S2-WROOM-I: https://www.espressif.com/sites/default/files/documentation/esp32-s2-wroom_esp32-s2-wroom-i_datasheet_en.pdf
ESP32-S2
0
51
43
PCM_Espressif
ESP32-S2-WROVER
ESP32-S2-WROVER and ESP32-S2-WROVER-I: https://www.espressif.com/sites/default/files/documentation/esp32-s2-wrover_esp32-s2-wrover-i_datasheet_en.pdf
ESP32-S2
0
55
43
PCM_Espressif
ESP32-S3-DevKitC
ESP32-S3 general-purpose development board, based on ESP32-S3-WROOM-1 or ESP32-S3-WROOM-1U,It has all the ESP32-S3 pins exposed and is easy to connect and use.
ESP32-S3
0
44
44
PCM_Espressif
ESP32-S3-MINI-1
ESP32-S3-MINI-1
esp32-s3
0
73
65
PCM_Espressif
ESP32-S3-MINI-1U
ESP32-S3-MINI-1 and ESP32-S3-MINI-1U
esp32-s3
0
73
65
PCM_Espressif
ESP32-S3-WROOM-1
ESP32-S3-WROOM-1 is a powerful, generic Wi-Fi + Bluetooth LE MCU modules that have Dual core CPU , a rich set of peripherals, provides acceleration for neural network computing and signal processing workloads. They are an ideal choice for a wide variety of application scenarios related to AI + Internet of Things (AIoT), such as wake word detection and speech commands recognition , face detection and recognition, smart home, smart appliance, smart control panel, smart speaker etc.
esp32-s3
0
51
41
PCM_Espressif
ESP32-S3-WROOM-1U
ESP32-S3-WROOM-1 is a powerful, generic Wi-Fi + Bluetooth LE MCU modules that have Dual core CPU , a rich set of peripherals, provides acceleration for neural network computing and signal processing workloads. They are an ideal choice for a wide variety of application scenarios related to AI + Internet of Things (AIoT), such as wake word detection and speech commands recognition , face detection and recognition, smart home, smart appliance, smart control panel, smart speaker etc.
esp32-s3
0
49
41
PCM_Espressif
ESP32-S3-WROOM-2
ESP32-S3-WROOM-2 is a powerful, generic Wi-Fi + Bluetooth LE MCU modules that have Dual core CPU , a rich set of peripherals, provides acceleration for neural network computing and signal processing workloads. They are an ideal choice for a wide variety of application scenarios related to AI + Internet of Things (AIoT), such as wake word detection and speech commands recognition , face detection and recognition, smart home, smart appliance, smart control panel, smart speaker etc.
esp32-s3
0
51
41
PCM_Espressif
ESP32-WROOM-32E
ESP32-WROOM-32E and ESP32-WROOM-32UE: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf
ESP32
0
50
39
PCM_Espressif
ESP32-WROOM-32UE
ESP32-WROOM-32E and ESP32-WROOM-32UE: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf
ESP32
0
47
39
PCM_Espressif
ESP32-WROOM-DA
ESP32-WROOM-DA: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-da_datasheet_en.pdf
ESP32 Dual Antenna DA
0
49
41
PCM_Espressif
ESP32-WROVER-E
ESP32-WROVER-E: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf
esp32 module
0
47
39
PCM_Espressif
ESP32-WROVER-E_ThermalVias
ESP32-WROVER-E: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf
esp32 module thermal vias
0
59
39
PCM_Espressif
ESP8685-WROOM-06
ESP32-WROOM-06: https://www.espressif.com/sites/default/files/documentation/esp8685-wroom-06_datasheet_en.pdf
esp32 module
0
31
22
PCM_Espressif
QFN-32-1EP_4x4mm_P0.4mm_EP2.9x2.9mm
QFN, 32 Pin (http://ww1.microchip.com/downloads/en/DeviceDoc/atmel-8153-8-and-16-bit-avr-microcontroller-xmega-e-atxmega8e5-atxmega16e5-atxmega32e5_datasheet.pdf#page=70), generated with kicad-footprint-generator ipc_noLead_generator.py
QFN NoLead
0
37
33
Package_BGA
Alliance_TFBGA-54_8x8mm_Layout9x9_P0.8mm
Alliance TFBGA 54 pins, 8x8mm, 54 Ball, 9x9 Layout, 0.8mm Pitch, https://www.alliancememory.com/wp-content/uploads/pdf/dram/Alliance_Memory_64M-AS4C4M16SA-CI_v5.0_October_2018.pdf#page=54
@@ -83829,7 +84130,7 @@ Bottom Block Connector
0
12
16
5
Quinn_lib
Top Block Connector

View File

@@ -64,6 +64,17 @@
)
)
(attr through_hole)
(fp_rect
(start -25 -25)
(end 25 25)
(stroke
(width 0.1)
(type default)
)
(fill none)
(layer "F.SilkS")
(uuid "02d89982-2879-49da-992f-c4d987f0fd39")
)
(fp_rect
(start -9.044238 -9.06015)
(end 9.076061 9.048037)

View File

@@ -6,39 +6,38 @@
#pragma once
// Stack 1 pins
#define STACK1_ADC_PIN 4
#define STACK1_LED_PIN 9
#define STACK1_ADC_PIN 6
#define STACK1_LED_PIN 11
// Stack 2 pins
#define STACK2_ADC_PIN 5
#define STACK2_LED_PIN 10
#define STACK2_ADC_PIN 16
#define STACK2_LED_PIN 14
// Stack 3 pins
#define STACK3_ADC_PIN 6
#define STACK3_LED_PIN 11
#define STACK3_ADC_PIN 8
#define STACK3_LED_PIN 45
// Stack 4 pins
#define STACK4_ADC_PIN 7
#define STACK4_LED_PIN 12
#define STACK4_ADC_PIN 5
#define STACK4_LED_PIN 10
// Stack 5 pins
#define STACK5_ADC_PIN 15
#define STACK5_LED_PIN 13
// Stack 6 pins
#define STACK6_ADC_PIN 16
#define STACK6_LED_PIN 14
#define STACK6_ADC_PIN 18
#define STACK6_LED_PIN 38
// Stack 7 pins
#define STACK7_ADC_PIN 17
#define STACK7_LED_PIN 37
#define STACK7_ADC_PIN 4
#define STACK7_LED_PIN 9
// Stack 8 pins
#define STACK8_ADC_PIN 18
#define STACK8_LED_PIN 38
#define STACK8_ADC_PIN 7
#define STACK8_LED_PIN 12
// Stack 9 pins
#define STACK9_ADC_PIN 8
#define STACK9_LED_PIN 45
#define STACK9_ADC_PIN 17
#define STACK9_LED_PIN 37

View File

@@ -15,20 +15,22 @@ CubeStack::CubeStack(uint16_t ADCPin, uint16_t ledPin, uint8_t numLEDs){
uint8_t CubeStack::GetNumberCubes(){
// read the ADC and return the number of cubes
/*
0 cubes: 1 : 4095-3071
1 cube: 1/2 3070-1706
2 cubes: 1/3 1705-1195
3 cubes: 1/4 1195-0
0 cubes: 1 : 4095-3400
1 cube: 1/2 3400-2500
2 cubes: 1/3 2500-1850
3 cubes: 1/4 1850-0
*/
uint16_t value = analogRead(this->ADCPin);
this->lowPassADCRead = static_cast<uint16_t>((static_cast<float>(this->lowPassADCRead) * 0.9) + (static_cast<float>(value) * 0.1));
if(this->lowPassADCRead < 2500 && false){
Serial.println("ADC Pin:" + String(this->ADCPin) + " Value: " + String(value) + " Low Pass: " + String(this->lowPassADCRead));
}
// temporary definitions to define value ranges:
uint16_t zeroCubesHigh = 4095;
uint16_t zeroCubesLow = 3071;
uint16_t oneCubeLow = 1706;
uint16_t twoCubesLow = 1000;
uint16_t zeroCubesLow = 3400;
uint16_t oneCubeLow = 2500;
uint16_t twoCubesLow = 1850;
uint16_t threeCubesLow = 0;
uint8_t stackHeight = 0;

View File

@@ -113,18 +113,30 @@ void parseData(int * args, int argsLength){
// --------------------------------------------------
// ----------------- SETUP AND LOOP -----------------
// --------------------------------------------------
uint32_t boardStateTimer{0};
bool boardStateHasChanged{false};
uint32_t boardStateMaxUpdatePeriod{15}; // this is a little faster than 60fps
void setup() {
Serial.begin(9600);
// SerialBT.begin("blockPartyBT");
Color colors[] = {Color(255, 0, 0), Color(0, 0, 0), Color(0, 0, 0)};
board.SetStackColors(2, colors);
boardStateTimer = millis();
}
void loop() {
if(board.BoardStateHasChanged()){
boardStateHasChanged = true;
}
if(millis() - boardStateTimer > boardStateMaxUpdatePeriod && boardStateHasChanged){
boardStateTimer = millis();
printBoardState();
boardStateHasChanged = false;
}
// DO serial processing