WIP towards board order

This commit is contained in:
jaseg 2023-11-04 18:09:55 +01:00
parent 8e42ca0978
commit 77549cbb2f
8 changed files with 7398 additions and 92820 deletions

View file

@ -1,35 +1,44 @@
Reference, Quantity, Value, Footprint, Datasheet, LCSC, Mfg, PN, Reichelt, DNP
C1 ,1,"220u/63V","Capacitor_THT:CP_Radial_D10.0mm_P5.00mm","~","C324050","Rubycon","63YXF220MFFCT810X20","",""
C10 C7 ,2,"100n","Capacitors_SMD:C_0603_HandSoldering","~"
C12 C11 ,2,"12p","Capacitors_SMD:C_0603_HandSoldering","~"
C2 C3 ,2,"100n","Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","~"
C4 ,1,"2200uF/25V/2A","Capacitor_THT:CP_Radial_D13.0mm_P5.00mm","~","C59339","CapXon","63YXF220MFFCT810X20","",""
C5 ,1,"12p","Capacitor_SMD:C_0603_1608Metric_Pad1.05x0.95mm_HandSolder","~"
C8 ,1,"47u","Capacitor_THT:CP_Radial_D5.0mm_P2.00mm","~","C216203","Rubycon","25YXF47MFFC5X11","",""
C9 C6 ,2,"10u","Capacitors_SMD:C_0603_HandSoldering","~"
D2 D4 D1 D3 D5 ,5,"SS510","Diode_SMD:D_SMA","~","C329267","","","",""
D6 ,1,"2V7","Diode_SMD:D_SOD-323_HandSoldering","~","C151000","DIODES inc.","MMSZ5223BS-7-F","",""
D7 ,1,"LED_ALT","LED_SMD:LED_PLCC_2835_Handsoldering","~","C60109","Everlight","IR67-21C/TR8","",""
E1 ,1,"Zip ties: 100x2.5mm, 4pcs/board","","","","","","KAB 100-2,5",""
J1 ,1,"top left","center:led_tape_3528_2835","~"
J2 ,1,"top right","center:led_tape_3528_2835","~"
J3 ,1,"bottom right","center:led_tape_3528_2835","~"
J4 ,1,"bottom left","center:led_tape_3528_2835","~"
J5 ,1,"SWD","Pin_Headers:Pin_Header_Straight_1x04_Pitch2.54mm","~"
L1 ,1,"47uH/2A","Inductor_SMD:L_Neosid_SM-NE127_HandSoldering","~","","Eaton","DR127-470","EATON DR127-470",""
Q1 Q3 Q4 Q2 Q5 ,5,"AO3400","Package_TO_SOT_SMD:SOT-23","http://www.farnell.com/datasheets/1835997.pdf"
R1 ,1,"1k","Resistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","~","","","","","DNP"
R2 ,1,"5R1","Resistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","~"
R3 R6 ,2,"R","Resistor_SMD:R_0603_1608Metric_Pad1.05x0.95mm_HandSolder","~"
R4 ,1,"30mR 1/4W","Resistor_SMD:R_1210_3225Metric","~","C159305","Ralec","RTT12R033FTP","",""
R5 ,1,"10k","Resistors_SMD:R_0603_HandSoldering","~"
R7 R8 ,2,"0","Resistors_SMD:R_0603_HandSoldering","~"
R9 ,1,"180","Resistors_SMD:R_2512_HandSoldering","~"
TP1 ,1,"PA5","Measurement_Points:Measurement_Point_Square-SMD-Pad_Small","~"
TP2 ,1,"PA9","Measurement_Points:Measurement_Point_Square-SMD-Pad_Small","~"
TP3 ,1,"PA10","Measurement_Points:Measurement_Point_Square-SMD-Pad_Small","~"
TP4 ,1,"PA4","Measurement_Points:Measurement_Point_Square-SMD-Pad_Small","~"
U1 ,1,"AP1117-33","Package_TO_SOT_SMD:SOT-223","http://www.diodes.com/datasheets/AP1117.pdf"
U2 ,1,"TX4138","Package_SO:SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm","","C329267","","","",""
U3 ,1,"STM32F030F4P6","Housings_SSOP:TSSOP-20_4.4x6.5mm_Pitch0.65mm","http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/DM00088500.pdf"
Y1 ,1,"8MHz","Crystals:Crystal_SMD_3225-4pin_3.2x2.5mm","~"
"Id";"Designator";"Footprint";"Quantity";"Designation";"Supplier and ref";
1;"C6";"C_1210_3225Metric_Pad1.33x2.70mm_HandSolder";1;"10u/25V";;;
2;"C7,C10";"C_0603_HandSoldering";2;"100n";;;
3;"C9";"C_0603_HandSoldering";1;"10u";;;
4;"D2,D1,D3,D4,D5";"D_SMA";5;"SS510";;;
5;"R5";"R_0603_1608Metric_Pad1.05x0.95mm_HandSolder";1;"DNP";;;
6;"R7";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";1;"0";;;
7;"U1";"SOT-223";1;"AP1117-33";;;
8;"C8";"CP_Radial_D5.0mm_P2.00mm";1;"47u";;;
9;"C4";"CP_Radial_D13.0mm_P5.00mm";1;"2200uF/25V/2A";;;
10;"C5";"C_0603_1608Metric_Pad1.05x0.95mm_HandSolder";1;"12p";;;
11;"R2";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";1;"5R1";;;
12;"R3";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";1;"300k";;;
13;"R6";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";1;"20k";;;
14;"R1";"R_0603_1608Metric_Pad1.05x0.95mm_HandSolder";1;"1k";;;
15;"L1";"L_Neosid_SM-NE127_HandSoldering";1;"47uH/2A";;;
16;"U2";"SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm";1;"TX4138";;;
17;"C2,C3";"C_0603_1608Metric_Pad1.05x0.95mm_HandSolder";2;"100n/60V";;;
18;"R4";"R_1210_3225Metric";1;"30mR 1/4W";;;
19;"D6";"D_SOD-323_HandSoldering";1;"DNP";;;
20;"C1";"CP_Radial_D10.0mm_P5.00mm";1;"220u/63V";;;
21;"R12,R13,R14,R11";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";4;"4k7";;;
22;"TP4";"TestPoint_Pad_1.5x1.5mm";1;"PB7";;;
23;"TP2";"TestPoint_Pad_1.5x1.5mm";1;"PA6";;;
24;"Q8,Q10,Q4,Q6,Q3";"SOT-23";5;"AO3400A";;;
25;"R20,R19,R18";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";3;"10k";;;
26;"R9,R21,R24,R22,R23,R8";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";6;"1k";;;
27;"C11";"C_0603_1608Metric_Pad1.08x0.95mm_HandSolder";1;"10u";;;
28;"C13";"C_0603_1608Metric_Pad1.08x0.95mm_HandSolder";1;"DNP";;;
29;"U3";"TSSOP-20_4.4x6.5mm_P0.65mm";1;"STM32G030F6Px";;;
30;"Q11,Q9,Q7,Q5";"SOT-23";4;"AO3401A";;;
31;"TP1";"TestPoint_Pad_1.5x1.5mm";1;"PA12";;;
32;"TP6";"TestPoint_Pad_1.5x1.5mm";1;"RECT1";;;
33;"D10,D9";"D_SOD-323_HandSoldering";2;"3V6";;;
34;"TP5";"TestPoint_Pad_1.5x1.5mm";1;"RECT2";;;
35;"J2";"sfp_edge_connector_male";1;"dbg";;;
36;"R15,R10";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";2;"DNP";;;
37;"R17,R16";"R_0603_1608Metric_Pad0.98x0.95mm_HandSolder";2;"220k";;;
38;"Q1,Q2";"SOT-23";2;"06N06L";;;
39;"D11,D7,D8,D12";"D_SOD-123F";4;"DS310W";;;
40;"U4";"SOT-23-5";1;"MCP6001-OT";;;
41;"TP3";"TestPoint_Pad_1.5x1.5mm";1;"PC14";;;
42;"C14";"C_0603_1608Metric_Pad1.08x0.95mm_HandSolder";1;"100n";;;
43;"J1";"PinSocket_2x07_P2.54mm_Vertical";1;"Conn_02x07_Odd_Even";;;

Can't render this file because it has a wrong number of fields in line 3.

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"high_contrast_mode": 1,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
@ -16,17 +16,17 @@
},
"ratsnest_display_mode": 0,
"selection_filter": {
"dimensions": true,
"dimensions": false,
"footprints": true,
"graphics": true,
"keepouts": true,
"graphics": false,
"keepouts": false,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"otherItems": false,
"pads": false,
"text": false,
"tracks": true,
"vias": true,
"zones": true
"zones": false
},
"visible_items": [
0,

View file

@ -3,6 +3,9 @@
"3dviewports": [],
"design_settings": {
"defaults": {
"apply_defaults_to_fp_fields": false,
"apply_defaults_to_fp_shapes": false,
"apply_defaults_to_fp_text": false,
"board_outline_line_width": 0.15,
"copper_line_width": 0.15,
"copper_text_italic": false,
@ -56,14 +59,7 @@
"width": 0.0
}
],
"drc_exclusions": [
"courtyards_overlap|196360001|102626502|00000000-0000-0000-0000-00005de9b522|99d59f94-0300-4758-95c1-fe9bbbbfa783",
"courtyards_overlap|197763171|110797068|00000000-0000-0000-0000-00005de9b522|c4833d2e-2c9e-4440-8866-6140984cca80",
"text_thickness|152631995|101175000|00000000-0000-0000-0000-00005de93595|00000000-0000-0000-0000-000000000000",
"text_thickness|156049472|101175000|00000000-0000-0000-0000-00005de935c0|00000000-0000-0000-0000-000000000000",
"text_thickness|178000000|68444662|e1e8791b-f102-4509-9948-1986c49e1265|00000000-0000-0000-0000-000000000000",
"unresolved_variable|206814520|80002996|002cb8c7-b00a-4e5f-a820-e69219752984|00000000-0000-0000-0000-000000000000"
],
"drc_exclusions": [],
"meta": {
"filename": "board_design_settings.json",
"version": 2
@ -536,8 +532,8 @@
"gencad": "",
"idf": "",
"netlist": "",
"plot": "",
"pos_files": "",
"plot": "gerber",
"pos_files": "pnp",
"specctra_dsn": "",
"step": "",
"svg": "",
@ -620,6 +616,30 @@
"label": "Reichelt",
"name": "Reichelt",
"show": false
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": false
},
{
"group_by": false,
"label": "Field-1",
"name": "Field-1",
"show": false
},
{
"group_by": false,
"label": "Description",
"name": "Description",
"show": false
},
{
"group_by": false,
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
}
],
"filter_string": "",

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -35,7 +35,7 @@ static volatile struct state_8b10b_dec st_8b10b_dec;
#define CONFIG_MODULE_ADDRESS 0
#endif /* CONFIG_MODULE_ADDRESS */
#define DEBUG_DISABLE_DRIVERS 1
//define DEBUG_DISABLE_DRIVERS 1
volatile union {
@ -156,9 +156,6 @@ int main(void) {
if (rng_reset) {
packet_rng_state = xorshift32(1);
rng_reset = false;
GPIOB->BSRR = (1<<7);
} else {
GPIOB->BRR = (1<<7);
}
for(size_t i=0; i<sizeof(rx_buf.packet); i++) {
@ -179,7 +176,7 @@ int main(void) {
if (CONFIG_MODULE_ADDRESS & 1) {
val >>= 4;
}
global_brightness = val;
global_brightness = val&0x0f;
channel_mask = rx_buf.packet.channels[CONFIG_MODULE_ADDRESS];
} else {
@ -238,6 +235,7 @@ void ADC1_IRQHandler(void) {
/* Trigger 8b10b sample */
if (phase == SAMPLING_PHASE) {
GPIOB->BSRR = (1<<7);
adc_dump[adc_dump_pos] |= 0x80;
bit_dump[bit_dump_pos] = bit;
@ -260,7 +258,9 @@ void ADC1_IRQHandler(void) {
}
if (rc < 0) {
if (rc == -K28_1) {
if (rc == -K23_7) {
/* ignore. */
} else if (rc == -K28_1) {
rng_reset = true;
rx_pos = 0;
@ -331,6 +331,7 @@ void ADC1_IRQHandler(void) {
TIM14->CR1 |= TIM_CR1_CEN;
}
GPIOB->BRR = (1<<7);
last_bit = bit;
}

View file

@ -177,25 +177,39 @@ int main(void) {
dma_tx_constant(COUNT_OF(waveform_zero_one), 0x00);
xfr_8b10b_encode_reset(&encoder_state_8b10b);
memset(tx_buf_write, 0, sizeof(*tx_buf_write));
for (size_t i=0; i<COUNT_OF(tx_buf_write->packet.channels); i++) {
tx_buf_write->packet.channels[i] = 0x33;
}
for (size_t i=0; i<COUNT_OF(tx_buf_write->packet.brightness); i++) {
tx_buf_write->packet.brightness[i] = 0xff;
}
update_tx_buf();
int i = 0;
int j = 0;
int k = 0;
int n = 0;
while (23) {
i++;
j++;
i %= 6;
j %= 4;
delay_us(100000);
delay_us(30000);
set_rj45_leds(1 << j);
set_status_leds(1 << i);
if (i == 0) {
k++;
if (k == 16) {
k = 0;
n++;
if (n == 16) {
n = 0;
}
}
uint8_t b = (k < 8) ? (1<<k) : ~(1<<(k-8));
memset(tx_buf_write, 0, sizeof(*tx_buf_write));
for (size_t i=0; i<COUNT_OF(tx_buf_write->packet.channels); i++) {
tx_buf_write->packet.channels[i] = 0xff;
}
for (size_t i=0; i<COUNT_OF(tx_buf_write->packet.brightness); i++) {
tx_buf_write->packet.brightness[i] = 0xff; //(n<<4) | n;
}
update_tx_buf();
}
}
}
@ -229,6 +243,7 @@ size_t cnd_pos = 0;
void DMA1_Channel1_IRQHandler() {
static int transfer_errors = 0;
static int current_symbol = 0;
static int idle_symbol = 0;
if (DMA1->ISR & DMA_ISR_TEIF1) {
transfer_errors ++;
@ -257,7 +272,12 @@ void DMA1_Channel1_IRQHandler() {
sym_arr[sym_pos] = -255;
if (tx_sympos == sizeof(struct data_packet)) {
idle_symbol++;
if (idle_symbol == 3) {
current_symbol = xfr_8b10b_encode(&encoder_state_8b10b, -K23_7);
idle_symbol = 0;
} else if (tx_sympos == sizeof(struct data_packet)) {
if (time_to_sync > 0) {
current_symbol = xfr_8b10b_encode(&encoder_state_8b10b, -K27_7);
sym_arr[sym_pos] = current_symbol;