Polish thanks to Dan's feedback
This commit is contained in:
parent
b5e40f52c2
commit
3dd59c3d5f
@ -21,7 +21,7 @@ git:
|
||||
# that SDK is shortest and add it there. In the case of major re-organizations,
|
||||
# just try to make the builds "about equal in run time"
|
||||
env:
|
||||
- TRAVIS_TESTS="unix docs translations website" TRAVIS_BOARDS="feather_huzzah circuitplayground_express mini_sam_m4 grandcentral_m4_express pca10056 pca10059 feather_nrf52832 feather_nrf52840_express makerdiary_nrf52840_mdk particle_boron particle_argon particle_xenon sparkfun_nrf52840_mini" TRAVIS_SDK=arm:nrf:esp8266
|
||||
- TRAVIS_TESTS="unix docs translations website" TRAVIS_BOARDS="feather_huzzah circuitplayground_express mini_sam_m4 grandcentral_m4_express pca10056 pca10059 feather_nrf52840_express makerdiary_nrf52840_mdk particle_boron particle_argon particle_xenon sparkfun_nrf52840_mini" TRAVIS_SDK=arm:nrf:esp8266
|
||||
- TRAVIS_BOARDS="metro_m0_express metro_m4_express pirkey_m0 trellis_m4_express trinket_m0" TRAVIS_SDK=arm
|
||||
- TRAVIS_BOARDS="feather_radiofruit_zigbee gemma_m0 hallowing_m0_express itsybitsy_m0_express itsybitsy_m4_express meowmeow" TRAVIS_SDK=arm
|
||||
- TRAVIS_BOARDS="feather_m0_express_crickit feather_m0_rfm69 feather_m0_rfm9x feather_m4_express arduino_zero arduino_mkr1300 arduino_mkrzero" TRAVIS_SDK=arm
|
||||
|
@ -45,6 +45,9 @@
|
||||
//|
|
||||
//| Not currently dynamically supported.
|
||||
//|
|
||||
//| PortIn objects are constructed for every corresponding entry in the USB descriptor and added
|
||||
//| to the `usb_midi.ports` tuple.
|
||||
//|
|
||||
|
||||
STATIC mp_obj_t usb_midi_portin_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *pos_args) {
|
||||
return mp_const_none;
|
||||
|
@ -45,6 +45,9 @@
|
||||
//|
|
||||
//| Not currently dynamically supported.
|
||||
//|
|
||||
//| PortOut objects are constructed for every corresponding entry in the USB descriptor and added
|
||||
//| to the `usb_midi.ports` tuple.
|
||||
//|
|
||||
|
||||
STATIC mp_obj_t usb_midi_portout_make_new(const mp_obj_type_t *type, size_t n_args, size_t n_kw, const mp_obj_t *pos_args) {
|
||||
return mp_const_none;
|
||||
|
@ -38,18 +38,11 @@
|
||||
|
||||
supervisor_allocation* usb_midi_allocation;
|
||||
|
||||
static inline uint16_t word_align(uint16_t size) {
|
||||
if (size % 4 != 0) {
|
||||
return (size & 0xfffc) + 0x4;
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
void usb_midi_init(void) {
|
||||
// TODO(tannewt): Make this dynamic.
|
||||
uint16_t tuple_size = word_align(sizeof(mp_obj_tuple_t) + sizeof(mp_obj_t*) * 2);
|
||||
uint16_t portin_size = word_align(sizeof(usb_midi_portin_obj_t));
|
||||
uint16_t portout_size = word_align(sizeof(usb_midi_portout_obj_t));
|
||||
uint16_t tuple_size = align32_size(sizeof(mp_obj_tuple_t) + sizeof(mp_obj_t*) * 2);
|
||||
uint16_t portin_size = align32_size(sizeof(usb_midi_portin_obj_t));
|
||||
uint16_t portout_size = align32_size(sizeof(usb_midi_portout_obj_t));
|
||||
|
||||
// For each embedded MIDI Jack in the descriptor we create a Port
|
||||
usb_midi_allocation = allocate_memory(tuple_size + portin_size + portout_size, false);
|
||||
|
@ -39,6 +39,8 @@ typedef struct {
|
||||
uint32_t length; // in bytes
|
||||
} supervisor_allocation;
|
||||
|
||||
|
||||
|
||||
void memory_init(void);
|
||||
void free_memory(supervisor_allocation* allocation);
|
||||
supervisor_allocation* allocate_remaining_memory(void);
|
||||
@ -48,4 +50,11 @@ supervisor_allocation* allocate_remaining_memory(void);
|
||||
// statically allocated memory.
|
||||
supervisor_allocation* allocate_memory(uint32_t length, bool high_address);
|
||||
|
||||
static inline uint16_t align32_size(uint16_t size) {
|
||||
if (size % 4 != 0) {
|
||||
return (size & 0xfffc) + 0x4;
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
#endif // MICROPY_INCLUDED_SUPERVISOR_MEMORY_H
|
||||
|
@ -274,6 +274,8 @@ descriptor_list = []
|
||||
descriptor_list.append(cdc_iad)
|
||||
descriptor_list.extend(cdc_interfaces)
|
||||
descriptor_list.extend(msc_interfaces)
|
||||
# Only add the control interface because other audio interfaces are managed by it to ensure the
|
||||
# correct ordering.
|
||||
descriptor_list.append(audio_control_interface)
|
||||
# Put the CDC IAD just before the CDC interfaces.
|
||||
# There appears to be a bug in the Windows composite USB driver that requests the
|
||||
|
Loading…
Reference in New Issue
Block a user