summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2021-02-19 11:22:21 +0700
committerGitHub <[email protected]>2021-02-19 11:22:21 +0700
commitbe9f86ca9e538c7fff9a2347e3f8acbcf61642df (patch)
tree994b64a613be2f6724d9975e1dab5ded4a6ac24a
parent044d29c927f3220a85349f45ff759298c7f11c7d (diff)
parent8f3f21045b8a5b533971c4e4c721b484056ac0db (diff)
Merge pull request #660 from hathach/fix-typo-midi-write24
Fix typo midi write24
-rw-r--r--examples/device/dynamic_configuration/src/main.c7
-rw-r--r--examples/device/midi_test/src/main.c7
-rw-r--r--hw/bsp/rp2040/boards/adafruit_feather_rp2040/board.h6
-rw-r--r--hw/bsp/rp2040/boards/adafruit_itsybitsy_rp2040/board.h4
-rw-r--r--hw/bsp/rp2040/boards/adafruit_qt_rp2040/board.h4
-rw-r--r--src/class/midi/midi_device.c18
-rw-r--r--src/class/midi/midi_device.h26
7 files changed, 45 insertions, 27 deletions
diff --git a/examples/device/dynamic_configuration/src/main.c b/examples/device/dynamic_configuration/src/main.c
index 45786e99a..acee295f6 100644
--- a/examples/device/dynamic_configuration/src/main.c
+++ b/examples/device/dynamic_configuration/src/main.c
@@ -165,6 +165,9 @@ void midi_task(void)
{
static uint32_t start_ms = 0;
+ uint8_t const cable_num = 0; // MIDI jack associated with USB endpoint
+ uint8_t const channel = 0; // 0 for channel 1
+
// The MIDI interface always creates input and output port/jack descriptors
// regardless of these being used or not. Therefore incoming traffic should be read
// (possibly just discarded) to avoid the sender blocking in IO
@@ -183,10 +186,10 @@ void midi_task(void)
if (previous < 0) previous = sizeof(note_sequence) - 1;
// Send Note On for current position at full velocity (127) on channel 1.
- tudi_midi_write24(0, 0x90, note_sequence[note_pos], 127);
+ tud_midi_write24(cable_num, 0x90 | channel, note_sequence[note_pos], 127);
// Send Note Off for previous note.
- tudi_midi_write24(0, 0x80, note_sequence[previous], 0);
+ tud_midi_write24(cable_num, 0x80 | channel, note_sequence[previous], 0);
// Increment position
note_pos++;
diff --git a/examples/device/midi_test/src/main.c b/examples/device/midi_test/src/main.c
index d92621fc9..858a096b6 100644
--- a/examples/device/midi_test/src/main.c
+++ b/examples/device/midi_test/src/main.c
@@ -125,6 +125,9 @@ void midi_task(void)
{
static uint32_t start_ms = 0;
+ uint8_t const cable_num = 0; // MIDI jack associated with USB endpoint
+ uint8_t const channel = 0; // 0 for channel 1
+
// The MIDI interface always creates input and output port/jack descriptors
// regardless of these being used or not. Therefore incoming traffic should be read
// (possibly just discarded) to avoid the sender blocking in IO
@@ -143,10 +146,10 @@ void midi_task(void)
if (previous < 0) previous = sizeof(note_sequence) - 1;
// Send Note On for current position at full velocity (127) on channel 1.
- tudi_midi_write24(0, 0x90, note_sequence[note_pos], 127);
+ tud_midi_write24(cable_num, 0x90 | channel, note_sequence[note_pos], 127);
// Send Note Off for previous note.
- tudi_midi_write24(0, 0x80, note_sequence[previous], 0);
+ tud_midi_write24(cable_num, 0x80 | channel, note_sequence[previous], 0);
// Increment position
note_pos++;
diff --git a/hw/bsp/rp2040/boards/adafruit_feather_rp2040/board.h b/hw/bsp/rp2040/boards/adafruit_feather_rp2040/board.h
index 417db3d5d..281b215d3 100644
--- a/hw/bsp/rp2040/boards/adafruit_feather_rp2040/board.h
+++ b/hw/bsp/rp2040/boards/adafruit_feather_rp2040/board.h
@@ -31,9 +31,13 @@
extern "C" {
#endif
-#define LED_PIN 14
+#define LED_PIN 13
#define LED_STATE_ON 1
+#define NEOPIXEL_PIN 16
+#define NEOPIXEL_POWER_PIN 17
+#define NEOPIXEL_POWER_STATE 1
+
// Button pin is BOOTSEL which is flash CS pin
#define BUTTON_BOOTSEL
#define BUTTON_STATE_ACTIVE 0
diff --git a/hw/bsp/rp2040/boards/adafruit_itsybitsy_rp2040/board.h b/hw/bsp/rp2040/boards/adafruit_itsybitsy_rp2040/board.h
index b45008fcc..72265176c 100644
--- a/hw/bsp/rp2040/boards/adafruit_itsybitsy_rp2040/board.h
+++ b/hw/bsp/rp2040/boards/adafruit_itsybitsy_rp2040/board.h
@@ -34,6 +34,10 @@
#define LED_PIN 11
#define LED_STATE_ON 1
+#define NEOPIXEL_PIN 17
+#define NEOPIXEL_POWER_PIN 16
+#define NEOPIXEL_POWER_STATE 1
+
// Button pin is BOOTSEL which is flash CS pin
#define BUTTON_BOOTSEL
#define BUTTON_STATE_ACTIVE 0
diff --git a/hw/bsp/rp2040/boards/adafruit_qt_rp2040/board.h b/hw/bsp/rp2040/boards/adafruit_qt_rp2040/board.h
index d3850a19e..c0915f704 100644
--- a/hw/bsp/rp2040/boards/adafruit_qt_rp2040/board.h
+++ b/hw/bsp/rp2040/boards/adafruit_qt_rp2040/board.h
@@ -35,6 +35,10 @@
#define LED_PIN 11
#define LED_STATE_ON 1
+#define NEOPIXEL_PIN 12
+#define NEOPIXEL_POWER_PIN 11
+#define NEOPIXEL_POWER_STATE 1
+
// Button pin is BOOTSEL which is flash CS pin
#define BUTTON_BOOTSEL
#define BUTTON_STATE_ACTIVE 0
diff --git a/src/class/midi/midi_device.c b/src/class/midi/midi_device.c
index b9d6b2efc..325fc4669 100644
--- a/src/class/midi/midi_device.c
+++ b/src/class/midi/midi_device.c
@@ -114,15 +114,15 @@ static void _prep_out_transaction (midid_interface_t* p_midi)
//--------------------------------------------------------------------+
// READ API
//--------------------------------------------------------------------+
-uint32_t tud_midi_n_available(uint8_t itf, uint8_t jack_id)
+uint32_t tud_midi_n_available(uint8_t itf, uint8_t cable_num)
{
- (void) jack_id;
+ (void) cable_num;
return tu_fifo_count(&_midid_itf[itf].rx_ff);
}
-uint32_t tud_midi_n_read(uint8_t itf, uint8_t jack_id, void* buffer, uint32_t bufsize)
+uint32_t tud_midi_n_read(uint8_t itf, uint8_t cable_num, void* buffer, uint32_t bufsize)
{
- (void) jack_id;
+ (void) cable_num;
midid_interface_t* midi = &_midid_itf[itf];
// Fill empty buffer
@@ -158,9 +158,9 @@ uint32_t tud_midi_n_read(uint8_t itf, uint8_t jack_id, void* buffer, uint32_t bu
return n;
}
-void tud_midi_n_read_flush (uint8_t itf, uint8_t jack_id)
+void tud_midi_n_read_flush (uint8_t itf, uint8_t cable_num)
{
- (void) jack_id;
+ (void) cable_num;
midid_interface_t* p_midi = &_midid_itf[itf];
tu_fifo_clear(&p_midi->rx_ff);
_prep_out_transaction(p_midi);
@@ -205,7 +205,7 @@ static uint32_t write_flush(midid_interface_t* midi)
}
}
-uint32_t tud_midi_n_write(uint8_t itf, uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize)
+uint32_t tud_midi_n_write(uint8_t itf, uint8_t cable_num, uint8_t const* buffer, uint32_t bufsize)
{
midid_interface_t* midi = &_midid_itf[itf];
if (midi->itf_num == 0) {
@@ -228,7 +228,7 @@ uint32_t tud_midi_n_write(uint8_t itf, uint8_t jack_id, uint8_t const* buffer, u
midi->write_target_length = 4;
}
} else if ((msg >= 0x8 && msg <= 0xB) || msg == 0xE) {
- midi->write_buffer[0] = jack_id << 4 | msg;
+ midi->write_buffer[0] = cable_num << 4 | msg;
midi->write_target_length = 4;
} else if (msg == 0xf) {
if (data == 0xf0) {
@@ -246,7 +246,7 @@ uint32_t tud_midi_n_write(uint8_t itf, uint8_t jack_id, uint8_t const* buffer, u
}
} else {
// Pack individual bytes if we don't support packing them into words.
- midi->write_buffer[0] = jack_id << 4 | 0xf;
+ midi->write_buffer[0] = cable_num << 4 | 0xf;
midi->write_buffer[2] = 0;
midi->write_buffer[3] = 0;
midi->write_buffer_length = 2;
diff --git a/src/class/midi/midi_device.h b/src/class/midi/midi_device.h
index 9235448f2..5e7df80ae 100644
--- a/src/class/midi/midi_device.h
+++ b/src/class/midi/midi_device.h
@@ -60,13 +60,13 @@
// CFG_TUD_MIDI > 1
//--------------------------------------------------------------------+
bool tud_midi_n_mounted (uint8_t itf);
-uint32_t tud_midi_n_available (uint8_t itf, uint8_t jack_id);
-uint32_t tud_midi_n_read (uint8_t itf, uint8_t jack_id, void* buffer, uint32_t bufsize);
-void tud_midi_n_read_flush (uint8_t itf, uint8_t jack_id);
-uint32_t tud_midi_n_write (uint8_t itf, uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize);
+uint32_t tud_midi_n_available (uint8_t itf, uint8_t cable_num);
+uint32_t tud_midi_n_read (uint8_t itf, uint8_t cable_num, void* buffer, uint32_t bufsize);
+void tud_midi_n_read_flush (uint8_t itf, uint8_t cable_num);
+uint32_t tud_midi_n_write (uint8_t itf, uint8_t cable_num, uint8_t const* buffer, uint32_t bufsize);
static inline
-uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3);
+uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t cable_num, uint8_t b1, uint8_t b2, uint8_t b3);
bool tud_midi_n_receive (uint8_t itf, uint8_t packet[4]);
bool tud_midi_n_send (uint8_t itf, uint8_t const packet[4]);
@@ -78,8 +78,8 @@ static inline bool tud_midi_mounted (void);
static inline uint32_t tud_midi_available (void);
static inline uint32_t tud_midi_read (void* buffer, uint32_t bufsize);
static inline void tud_midi_read_flush (void);
-static inline uint32_t tud_midi_write (uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize);
-static inline uint32_t tudi_midi_write24 (uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3);
+static inline uint32_t tud_midi_write (uint8_t cable_num, uint8_t const* buffer, uint32_t bufsize);
+static inline uint32_t tud_midi_write24 (uint8_t cable_num, uint8_t b1, uint8_t b2, uint8_t b3);
static inline bool tud_midi_receive (uint8_t packet[4]);
static inline bool tud_midi_send (uint8_t const packet[4]);
@@ -92,10 +92,10 @@ TU_ATTR_WEAK void tud_midi_rx_cb(uint8_t itf);
// Inline Functions
//--------------------------------------------------------------------+
-static inline uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3)
+static inline uint32_t tud_midi_n_write24 (uint8_t itf, uint8_t cable_num, uint8_t b1, uint8_t b2, uint8_t b3)
{
uint8_t msg[3] = { b1, b2, b3 };
- return tud_midi_n_write(itf, jack_id, msg, 3);
+ return tud_midi_n_write(itf, cable_num, msg, 3);
}
static inline bool tud_midi_mounted (void)
@@ -118,15 +118,15 @@ static inline void tud_midi_read_flush (void)
tud_midi_n_read_flush(0, 0);
}
-static inline uint32_t tud_midi_write (uint8_t jack_id, uint8_t const* buffer, uint32_t bufsize)
+static inline uint32_t tud_midi_write (uint8_t cable_num, uint8_t const* buffer, uint32_t bufsize)
{
- return tud_midi_n_write(0, jack_id, buffer, bufsize);
+ return tud_midi_n_write(0, cable_num, buffer, bufsize);
}
-static inline uint32_t tudi_midi_write24 (uint8_t jack_id, uint8_t b1, uint8_t b2, uint8_t b3)
+static inline uint32_t tud_midi_write24 (uint8_t cable_num, uint8_t b1, uint8_t b2, uint8_t b3)
{
uint8_t msg[3] = { b1, b2, b3 };
- return tud_midi_write(jack_id, msg, 3);
+ return tud_midi_write(cable_num, msg, 3);
}
static inline bool tud_midi_receive (uint8_t packet[4])