forked from mfulz_github/qmk_firmware
		
	Add Midi Endpoint task to ChibiOS main (#8071)
This commit is contained in:
		
							parent
							
								
									8a749a7a8e
								
							
						
					
					
						commit
						0010d0c45e
					
				@ -81,6 +81,9 @@ void raw_hid_task(void);
 | 
				
			|||||||
#ifdef CONSOLE_ENABLE
 | 
					#ifdef CONSOLE_ENABLE
 | 
				
			||||||
void console_task(void);
 | 
					void console_task(void);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef MIDI_ENABLE
 | 
				
			||||||
 | 
					void midi_ep_task(void);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* TESTING
 | 
					/* TESTING
 | 
				
			||||||
 * Amber LED blinker thread, times are in milliseconds.
 | 
					 * Amber LED blinker thread, times are in milliseconds.
 | 
				
			||||||
@ -214,6 +217,9 @@ int main(void) {
 | 
				
			|||||||
#ifdef CONSOLE_ENABLE
 | 
					#ifdef CONSOLE_ENABLE
 | 
				
			||||||
        console_task();
 | 
					        console_task();
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					#ifdef MIDI_ENABLE
 | 
				
			||||||
 | 
					        midi_ep_task();
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
#ifdef VIRTSER_ENABLE
 | 
					#ifdef VIRTSER_ENABLE
 | 
				
			||||||
        virtser_task();
 | 
					        virtser_task();
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -833,7 +833,17 @@ bool recv_midi_packet(MIDI_EventPacket_t *const event) {
 | 
				
			|||||||
    size_t size = chnReadTimeout(&drivers.midi_driver.driver, (uint8_t *)event, sizeof(MIDI_EventPacket_t), TIME_IMMEDIATE);
 | 
					    size_t size = chnReadTimeout(&drivers.midi_driver.driver, (uint8_t *)event, sizeof(MIDI_EventPacket_t), TIME_IMMEDIATE);
 | 
				
			||||||
    return size == sizeof(MIDI_EventPacket_t);
 | 
					    return size == sizeof(MIDI_EventPacket_t);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					void midi_ep_task(void) {
 | 
				
			||||||
 | 
					    uint8_t buffer[MIDI_STREAM_EPSIZE];
 | 
				
			||||||
 | 
					    size_t  size = 0;
 | 
				
			||||||
 | 
					    do {
 | 
				
			||||||
 | 
					        size_t size = chnReadTimeout(&drivers.midi_driver.driver, buffer, sizeof(buffer), TIME_IMMEDIATE);
 | 
				
			||||||
 | 
					        if (size > 0) {
 | 
				
			||||||
 | 
					            MIDI_EventPacket_t event;
 | 
				
			||||||
 | 
					            recv_midi_packet(&event);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    } while (size > 0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef VIRTSER_ENABLE
 | 
					#ifdef VIRTSER_ENABLE
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user