ntearsntei

This commit is contained in:
2025-11-12 13:24:49 -08:00
parent 04a02e4340
commit 454c9734e0
16 changed files with 18653 additions and 19071 deletions

View File

@@ -118,6 +118,7 @@ uint16_t PORT_DEPTH[] = {0xFF, 0xFF, 0xFF, 0xFF};
UART_HandleTypeDef* PARENT; UART_HandleTypeDef* PARENT;
UART_HandleTypeDef* PORTS[] = {&huart5, &huart1, &huart2, &huart4}; UART_HandleTypeDef* PORTS[] = {&huart5, &huart1, &huart2, &huart4};
//North East South West //North East South West
UARTMessage reportBuff;
extern USBD_HandleTypeDef hUsbDeviceFS; extern USBD_HandleTypeDef hUsbDeviceFS;
volatile uint8_t MODE = MODE_INACTIVE; volatile uint8_t MODE = MODE_INACTIVE;
@@ -217,7 +218,7 @@ int main(void)
REQ.TYPE = 0xFF; //Message code for request is 0xFF REQ.TYPE = 0xFF; //Message code for request is 0xFF
memset(REQ.KEYPRESS, 0, sizeof(REQ.KEYPRESS)); memset(REQ.KEYPRESS, 0, sizeof(REQ.KEYPRESS));
//Send querty for parent module //Send query for parent module
HAL_UART_Transmit_DMA(&huart1, (uint8_t*)&REQ, sizeof(REQ)); HAL_UART_Transmit_DMA(&huart1, (uint8_t*)&REQ, sizeof(REQ));
HAL_UART_Transmit_DMA(&huart2, (uint8_t*)&REQ, sizeof(REQ)); HAL_UART_Transmit_DMA(&huart2, (uint8_t*)&REQ, sizeof(REQ));
HAL_UART_Transmit_DMA(&huart4, (uint8_t*)&REQ, sizeof(REQ)); HAL_UART_Transmit_DMA(&huart4, (uint8_t*)&REQ, sizeof(REQ));
@@ -230,6 +231,10 @@ int main(void)
case MODE_MAINBOARD: case MODE_MAINBOARD:
resetReport(); //Something related to this making the key stick. Likely due to race conditions resetReport(); //Something related to this making the key stick. Likely due to race conditions
matrixScan(); //Removing resetReport() makes the modules inputs works but makes the key stick matrixScan(); //Removing resetReport() makes the modules inputs works but makes the key stick
//Merge the bufer to the key report
for(int i = 0; i < sizeof(reportBuff.KEYPRESS); i++){
REPORT.KEYPRESS[i] |= reportBuff.KEYPRESS[i];
}
USBD_HID_SendReport(&hUsbDeviceFS, (uint8_t*)&REPORT, sizeof(REPORT)); USBD_HID_SendReport(&hUsbDeviceFS, (uint8_t*)&REPORT, sizeof(REPORT));
break; break;
@@ -237,7 +242,7 @@ int main(void)
break; break;
} }
HAL_Delay(50); HAL_Delay();
/* USER CODE END WHILE */ /* USER CODE END WHILE */
/* USER CODE BEGIN 3 */ /* USER CODE BEGIN 3 */
@@ -386,9 +391,7 @@ void handleUARTMessages(uint8_t *data, UART_HandleTypeDef *sender) {
case 0xEE: case 0xEE:
//TODO: Append message to the thingy //TODO: Append message to the thingy
if(MODE!=MODE_INACTIVE){ if(MODE!=MODE_INACTIVE){
for (int i = 0; i < sizeof(REPORT.KEYPRESS); i++) { memcpy(msg.KEYPRESS, reportBuff.KEYPRESS, sizeof(reply.KEYPRESS));
REPORT.KEYPRESS[i] |= msg.KEYPRESS[i]; // bitwise merge keys
}
} }
break; break;

View File

@@ -1,10 +1,10 @@
../Core/Src/main.c:150:5:main 7 ../Core/Src/main.c:150:5:main 7
../Core/Src/main.c:256:6:SystemClock_Config 3 ../Core/Src/main.c:257:6:SystemClock_Config 3
../Core/Src/main.c:300:6:HAL_UART_RxCpltCallback 5 ../Core/Src/main.c:301:6:HAL_UART_RxCpltCallback 5
../Core/Src/main.c:319:6:HAL_UART_ErrorCallback 5 ../Core/Src/main.c:320:6:HAL_UART_ErrorCallback 5
../Core/Src/main.c:337:6:findBestParent 4 ../Core/Src/main.c:338:6:findBestParent 4
../Core/Src/main.c:358:6:handleUARTMessages 11 ../Core/Src/main.c:359:6:handleUARTMessages 11
../Core/Src/main.c:403:6:addUSBReport 3 ../Core/Src/main.c:405:6:addUSBReport 3
../Core/Src/main.c:411:6:matrixScan 4 ../Core/Src/main.c:413:6:matrixScan 4
../Core/Src/main.c:424:6:resetReport 1 ../Core/Src/main.c:426:6:resetReport 1
../Core/Src/main.c:435:6:Error_Handler 1 ../Core/Src/main.c:437:6:Error_Handler 1

View File

@@ -1,10 +1,10 @@
../Core/Src/main.c:150:5:main 48 static ../Core/Src/main.c:150:5:main 48 static
../Core/Src/main.c:256:6:SystemClock_Config 88 static ../Core/Src/main.c:257:6:SystemClock_Config 88 static
../Core/Src/main.c:300:6:HAL_UART_RxCpltCallback 16 static ../Core/Src/main.c:301:6:HAL_UART_RxCpltCallback 16 static
../Core/Src/main.c:319:6:HAL_UART_ErrorCallback 16 static ../Core/Src/main.c:320:6:HAL_UART_ErrorCallback 16 static
../Core/Src/main.c:337:6:findBestParent 24 static ../Core/Src/main.c:338:6:findBestParent 24 static
../Core/Src/main.c:358:6:handleUARTMessages 56 static ../Core/Src/main.c:359:6:handleUARTMessages 56 static
../Core/Src/main.c:403:6:addUSBReport 24 static ../Core/Src/main.c:405:6:addUSBReport 24 static
../Core/Src/main.c:411:6:matrixScan 16 static ../Core/Src/main.c:413:6:matrixScan 16 static
../Core/Src/main.c:424:6:resetReport 8 static ../Core/Src/main.c:426:6:resetReport 8 static
../Core/Src/main.c:435:6:Error_Handler 4 static,ignoring_inline_asm ../Core/Src/main.c:437:6:Error_Handler 4 static,ignoring_inline_asm

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -12,13 +12,8 @@
"pads": 1.0, "pads": 1.0,
"shapes": 1.0, "shapes": 1.0,
"tracks": 1.0, "tracks": 1.0,
<<<<<<< HEAD
"vias": 1.0, "vias": 1.0,
"zones": 0.6 "zones": 0.6
=======
"vias": 0.75,
"zones": 0.2199999988079071
>>>>>>> hardware-65percent
}, },
"selection_filter": { "selection_filter": {
"dimensions": true, "dimensions": true,
@@ -68,11 +63,6 @@
"version": 5 "version": 5
}, },
"net_inspector_panel": { "net_inspector_panel": {
<<<<<<< HEAD
"col_hidden": [],
"col_order": [],
"col_widths": [],
=======
"col_hidden": [ "col_hidden": [
false, false,
false, false,
@@ -115,7 +105,6 @@
0, 0,
0 0
], ],
>>>>>>> hardware-65percent
"custom_group_rules": [], "custom_group_rules": [],
"expanded_rows": [], "expanded_rows": [],
"filter_by_net_name": true, "filter_by_net_name": true,
@@ -126,11 +115,7 @@
"show_unconnected_nets": false, "show_unconnected_nets": false,
"show_zero_pad_nets": false, "show_zero_pad_nets": false,
"sort_ascending": true, "sort_ascending": true,
<<<<<<< HEAD
"sorting_column": -1
=======
"sorting_column": 0 "sorting_column": 0
>>>>>>> hardware-65percent
}, },
"open_jobsets": [], "open_jobsets": [],
"project": { "project": {

View File

@@ -51,47 +51,18 @@
"min_clearance": 0.5 "min_clearance": 0.5
} }
}, },
"diff_pair_dimensions": [ "diff_pair_dimensions": [],
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
},
{
"gap": 0.4,
"via_gap": 0.4,
"width": 0.8
}
],
<<<<<<< HEAD
"drc_exclusions": [], "drc_exclusions": [],
=======
"drc_exclusions": [
[
"starved_thermal|86345000|62115601|64ba6b94-7dc4-4d5b-8cfc-a023f0fb7e02|46435096-ba52-4903-afbe-e937b67b5c4a|F.Cu",
""
]
],
>>>>>>> hardware-65percent
"meta": { "meta": {
"version": 2 "version": 2
}, },
"rule_severities": { "rule_severities": {
<<<<<<< HEAD
"annular_width": "error", "annular_width": "error",
"clearance": "error", "clearance": "error",
"connection_width": "warning", "connection_width": "warning",
"copper_edge_clearance": "error", "copper_edge_clearance": "error",
"copper_sliver": "warning", "copper_sliver": "warning",
"courtyards_overlap": "error", "courtyards_overlap": "error",
=======
"annular_width": "ignore",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "ignore",
"copper_sliver": "warning",
"courtyards_overlap": "ignore",
>>>>>>> hardware-65percent
"creepage": "error", "creepage": "error",
"diff_pair_gap_out_of_range": "error", "diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error", "diff_pair_uncoupled_length_too_long": "error",
@@ -102,11 +73,7 @@
"footprint_filters_mismatch": "ignore", "footprint_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning", "footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore", "footprint_type_mismatch": "ignore",
<<<<<<< HEAD
"hole_clearance": "error", "hole_clearance": "error",
=======
"hole_clearance": "ignore",
>>>>>>> hardware-65percent
"hole_to_hole": "warning", "hole_to_hole": "warning",
"holes_co_located": "warning", "holes_co_located": "warning",
"invalid_outline": "error", "invalid_outline": "error",
@@ -163,7 +130,7 @@
"min_text_height": 0.8, "min_text_height": 0.8,
"min_text_thickness": 0.08, "min_text_thickness": 0.08,
"min_through_hole_diameter": 0.3, "min_through_hole_diameter": 0.3,
"min_track_width": 0.16, "min_track_width": 0.0,
"min_via_annular_width": 0.1, "min_via_annular_width": 0.1,
"min_via_diameter": 0.5, "min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.0, "solder_mask_to_copper_clearance": 0.0,
@@ -213,11 +180,7 @@
"td_width_to_size_filter_ratio": 0.9 "td_width_to_size_filter_ratio": 0.9
} }
], ],
"track_widths": [ "track_widths": [],
0.0,
0.2,
0.6
],
"tuning_pattern_settings": { "tuning_pattern_settings": {
"diff_pair_defaults": { "diff_pair_defaults": {
"corner_radius_percentage": 80, "corner_radius_percentage": 80,
@@ -244,12 +207,7 @@
"spacing": 0.6 "spacing": 0.6
} }
}, },
"via_dimensions": [ "via_dimensions": [],
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false "zones_allow_external_fillets": false
}, },
"ipc2581": { "ipc2581": {
@@ -267,227 +225,7 @@
"cvpcb": { "cvpcb": {
"equivalence_files": [] "equivalence_files": []
}, },
"erc": { "legacy": [],
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"undefined_netclass": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": { "libraries": {
"pinned_footprint_libs": [], "pinned_footprint_libs": [],
"pinned_symbol_libs": [] "pinned_symbol_libs": []
@@ -503,7 +241,7 @@
"clearance": 0.2, "clearance": 0.2,
"diff_pair_gap": 0.25, "diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25, "diff_pair_via_gap": 0.25,
"diff_pair_width": 0.8, "diff_pair_width": 0.2,
"line_style": 0, "line_style": 0,
"microvia_diameter": 0.3, "microvia_diameter": 0.3,
"microvia_drill": 0.1, "microvia_drill": 0.1,
@@ -539,164 +277,14 @@
"page_layout_descr_file": "" "page_layout_descr_file": ""
}, },
"schematic": { "schematic": {
"annotate_start_num": 0,
"bom_export_filename": "${PROJECTNAME}.csv",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
"keep_line_breaks": false,
"keep_tabs": false,
"name": "CSV",
"ref_delimiter": ",",
"ref_range_delimiter": "",
"string_delimiter": "\""
},
"bom_presets": [],
"bom_settings": {
"exclude_dnp": false,
"fields_ordered": [
{
"group_by": false,
"label": "Reference",
"name": "Reference",
"show": true
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": true,
"label": "Value",
"name": "Value",
"show": true
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
},
{
"group_by": true,
"label": "Exclude from BOM",
"name": "${EXCLUDE_FROM_BOM}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Board",
"name": "${EXCLUDE_FROM_BOARD}",
"show": true
},
{
"group_by": true,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
},
{
"group_by": false,
"label": "Part Number",
"name": "Part Number",
"show": false
},
{
"group_by": false,
"label": "Specifications",
"name": "Specifications",
"show": false
},
{
"group_by": false,
"label": "Manufacturer",
"name": "Manufacturer",
"show": false
},
{
"group_by": false,
"label": "Description",
"name": "Description",
"show": false
},
{
"group_by": false,
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "",
"sort_asc": true,
"sort_field": "Reference"
},
"connection_grid_size": 50.0,
"drawing": { "drawing": {
"dashed_lines_dash_length_ratio": 12.0, "label_size_ratio": 0.25,
"dashed_lines_gap_length_ratio": 3.0, "pin_symbol_size": 0,
"default_line_thickness": 6.0, "text_offset_ratio": 0.08
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"operating_point_overlay_i_precision": 3,
"operating_point_overlay_i_range": "~A",
"operating_point_overlay_v_precision": 3,
"operating_point_overlay_v_range": "~V",
"overbar_offset_ratio": 1.23,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
}, },
"legacy_lib_dir": "", "legacy_lib_dir": "",
"legacy_lib_list": [], "legacy_lib_list": []
"meta": {
"version": 1
}, },
"net_format_name": "", "sheets": [],
"page_layout_descr_file": "",
"plot_directory": "",
"space_save_all_events": true,
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true,
"spice_save_all_currents": false,
"spice_save_all_dissipations": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"a3d0d559-cac8-4859-ad0f-79ad0c1a1a82",
"Root"
],
[
"1d905906-6e74-4741-8b2e-53dc470a7c79",
"Keymatrix"
<<<<<<< HEAD
=======
],
[
"0330dd45-2776-4667-9e47-eb2dbca2bb32",
"RGB Lights"
>>>>>>> hardware-65percent
]
],
"text_variables": {} "text_variables": {}
} }