In the IDE, File>Examples>Teensy>USB_Midi is a good place to start looking.
The diagram does not show which device is intended to be the Host for the hub.
Type: Posts; User: MatrixRat
In the IDE, File>Examples>Teensy>USB_Midi is a good place to start looking.
The diagram does not show which device is intended to be the Host for the hub.
Not familiar with that method. Am using callback and changed the buffer in MIDI_Settings.h to 256 to receive 140 byte sysex.
https://forum.pjrc.com/threads/42589 has discussion about receiving large sysex.
After sleeping on it, realized that HCT powered from +3.3v was a silly old fart dumb choice. Surprised it worked at all.
Using protoboard with two 245s located underneath T4.1 as I need to buffer...
Ok, I've moved it with:-
ILI9341_t3 Display2(TFT1_CS, TFT1_DC);//Was ILI9341_t3 Display1(TFT1_CS, TFT1_DC);
ILI9341_t3 Display1(TFT2_CS, TFT2_DC);//Was ILI9341_t3 Display2(TFT2_CS, TFT2_DC);
...
Yes. Both screens plug into the main board so are easy to swap. Will play with swapping DC and CS #defines but expect that lower bit depth will manifest on the left screen.
Editing to report that...
Building Midi controller DevKit V2 using a T4.1, two ILI9431 displays and other goodies.
Have buffered all SPI signals and have both displays and XP2046 touch tested and working.
Picture says a...
Look and explore here:- https://www.pjrc.com/teensy/
Glad you got it working.
Following up, quoting myself
Got this idea to work. mentioning as the strategy may be worth looking at to slow large amounts of sysex for older synths.
24Mhz. Ouch! We gotta figure how to sidestep that. Neither Jeannie or my project will like it.
Busy with home renovations, rain is coming, have a couple of ideas.
Thinking of post 39, let's say...
Following on, 2048 bytes Sysex block size does seem to be the limit but I suspect this limit is imposed by the MS generic usbMidi driver.
Perhaps borrow from Midiox the concept of Sysex Continue...
Commented out line 364 C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy4\usb.c as you suggest and no longer have truncated sysex. Thank you for finding it Rolf.
Is not necessary to...
The fourth line in the screenshot of MIOS Studio in post#1 shows f0 only.
Sketch in post#23 ran on bare T4.1 usbType MIDI, Win10, IDE 1.8.19 TD 1.56, produced this:-
28453
Note the second...
Been able to reproduce this with the following sketch:-
#define chunkSize 128
#define delayAmt 100
byte data[chunkSize];
void fillBuff() {
unsigned scratch;
Try in Midiox > Options>Configure Buffers
Set Size 2048 and Number 32
Fingers crossed.
I would test on Serial midi as well. Rule in or out all possibilities.
If you post a sketch here that dumps that sysex in response to serial monitor keypress am happy to test on Windows with Midiox.
Largest sysex dump here 4 x 140 bytes. Did need delay but used non-blocking type. What about a ring buffer?
Wow, That's huge. Fourth line looks truncated after F0. Seen similar truncations if some data miscalculation tries to send a value >127, not the case here as the four byte header (zeros) was supposed...
Food for thought?
28422
Yeah, mechanicals. Currectly using 19mm grid to keep the whole thing compact and portable, no knobs.
End use case is cutting loose on a Synth so with that spacing is easy to nudge a neighbor and...
Yes, 4067 is an analog switch but in the EncPlex use case is selecting Highs and Lows into a digital pin, so noise is not an issue. Websearch digital mutiplexer, will lead to 4067 and the like.
...
Either way is a counter, decade counter rolls over at different count.
Suggesting Ring counter if one exists. Component availability is a key design factor no matter the method.
Honestly, that demo vid blew me right out of the water.
It seems that first, you need to establish comms with juce so dig in discover what it needs as a pathway.
Some might suggest its a waste of processing power but usbHost is a possibility where Teensy 1 plugs into PC, then Teensy2 plugs into Teensy1's usbHost port then Teensy3 plugs into Teensy2's usbHost...
Referring to your first post, you asked about using a master Teensy communicating with a number of Teensy slaves. Can be done using usbHost port (T3.6 0r later) for master, plug in a usb Hub then...
I'm using the Sparkfun 4067 breakouts and the actual chip is marked HP4067 which i think translates to 74HC4067. I see nothing preventing one doing the job of my HC138 so theoretically at least...
Am using interrupts. Did need to tweak EncoderTool library to generate additional address bits for 74HCT138 for up to eight pairs of 4067s however uses more pins than the MCP23017 method. Either way...
Two questions:- How many Counts per revolution are you looking for? and what type of encoders?
For what I'm doing with Midi, most parameters are in the range 0-127 so 96 CPR covers the range with...
You might also check this out:-
https://github.com/luni64/EncoderTool
Currently using it with 32 x 96 PPR detentless encoders using the 4067 method.
Thanks Rolf. Got me thinking, should be soldering.
I understand that the logical choice is to send floats as ascii so we can put the decimal point where needed. But, say if we only have one digit...
Perhaps look at plugging the Leonardo into the T4x UsbHost port as well.
Hi Rolf. Looks like you're making good progress. Have been quietly following this thread and learned some useful stuff so you are one of my many teachers here.
Must also mention, Paul, Defragster,...
Teensy 3.5 or later. Component supply shortages have it that T3.2 - T3.6 are impossible to source so that leaves T4x.
Be mindful that T4x pins are not +5v tolerant so be careful how you hook...
Good news on several fronts.
Soldering was a little tricky as the chosen T4.1 was already fully pinned. A minor fiddle with LittleFS_Usage yielded Bytes Total:16777216.
Next, other required...
Took a while to flush my stash of Flash out of the rabbithole of relocation.
Bricked the T3.6. last night. Made that struct a [5][144] and missed a corresponding edit to an Index struct and got...
My turn to grumble, about Billboard text in posts.
Having got that outta the way, many users have started out with a pretty simple Midi controller and inspired by getting the first one working,...
Ok, thanks. A 4mm wide strip of sticky copper foil to pick and place the chip. In reality that struct will grow to something more like [16][144] with a tribe of little ones. Then double it again coz...
Midi controller Madness. Devving and works on T3.6. Tested on T4.0 and T4.1.
Need to implement a working relationship between current data structure and non-volatile memory. Shoehorning T4.1 into...
Hi Rolf. Think of it this way:-
// Sysex data lenght [28]; // Daten lenght max 256
sysexData[sysexCount++] = 0xF0; // 0 - Start SysEx...
A quick web-search for mmjoy2 did not reveal any editable Arduino code to modify for more Analog inputs on a range of supported boards including Teensy3.2 or for that matter, to work on a different ...
TD's underlying Midi library found in (Windows) C:\Program Files (x86)\Arduino\hardware\avr\teensy\libraries was updated to V5 post TD 1.53 which saw changes to the transport layer.
I encountered...
Hmm, Murphy's law and datasheets.
For the receiver I'd suggest that Vcc (pin 3)is the device's +V supply pin and pin 1 is Data OUT.
For the transmitter I'd suggest that Vcc (pin 3)is the device's...
Agreed, but I think that a straightened paper-clip sized hole over a Prog button is a small price to pay.
Thinking of the range of MIDI types, what about making the MIDI_NAME unique to each MIDI...
I think this is not a bug but shortcomings in Windows' class compliant USB-MIDI driver.
I've run into the same issue with Windows not being able to see two identical cheap class compliant usb-MIDI...
The .ino and .cpp files both have
#include "Thermistor.h"
Maybe drive the MOSFET with PWM so average resistor current can be ramped?
The purpose of the Opto is to galvanically isolate the sending device from the receiving device so you need to think carefully of how two oscilloscope probes are connected to both devices at the same...
In C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\MIDI\src\midi_settings.h
Line 73 has:-
static const unsigned SysExMaxSize = 128;
Try changing this to:-
static const...
The OctoWS8211 Basic Test example has:-
const int config = WS2811_GRB | WS2811_800kHz;
A typo perhaps?