WIP towards board order
This commit is contained in:
parent
8e42ca0978
commit
77549cbb2f
8 changed files with 7398 additions and 92820 deletions
|
|
@ -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
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue