Hello everybody !! Let’s get direct : I’m planning on burn it all and go buy a real, good-working MIDI controller.
No, just kidding, love DIY too to give up that silly way… But I knew I had to be stuck one day, this day has come.
Already tried many times to search for someone having my problem … Please don’t hesitate to indicate me any post I could possibly have missed …
Here’s the plot : my first attempt was a total failure. I purchased a virgin 18f452, then asked a friend of mine possessing a PIC burner to burn the bootloader on it. Back home, I happily saw the sysex messages every two seconds, then tried to upload MIOS, then … things began to get messy. First, it failed, so, passing out all the good advices TK and others patiently gave to noobs like me, I tried whatsoever, like unticking or ticking every options that could possibly be, I didn’t know at all what I was doing but did it anyway, until that - I don’t really know how - MIOS seemingly came on the PIC, since from that moment, I only had the (good) sysex string on startup. I must mention, it was absolutely not obvious that I had to care on my PIC id number, which was curiously 70 and not the 00 expected (already saw it in a post, and confirm it should be put in FAQ - anyways it solved this guy’s problem, not mine
) .
Well, after that, totally unable to upload any hex file.
I first thought I had my PIC f**** up because of my newbie’s eagerness, plus, I found bizarre that its ID was 70. And I made many random manips, such as wildly (and dumbly) unplugging the pic, and so on in that kind of ABSOLUTELY MUSTN’T-DO stuffs… Thought I really killed him. I so decided to calm down and patiently wait for another pic from smash TV, with already bootloader and mios on it, in order not to have to burn it by myself and just to be sure that things had this time been well done.
Now, I received this piece of wonder, then re-checked for the millionth time my core breadboard (which had been meanwhile covered by dust), basic hardware tests passed OK again, brand new pic stuffed in and …
I receive the correct sysex string in both midiox and miosstudio (with this time ID 00). And I actually have the same problem than before : trying to upload a basic test application (compiled with sdcc under code::blocks - a simple code that is supposed to send midi cc#1 at channel one only when I turn the pot on PIN1), the upload request is received as expected, but then miosstudio tries to upload the first block and … nothing more happens till I stop the process (yet I gave him a chance, waiting for an afternoon or so ^^).
Looks like that :
The reboot request will lead to an error acknowledge, please ignore!
Waiting for upload request…
Received Upload Request
Sending block #1 00000000-000000FF
I don’t think it’s useful, but I join both my codefiles and hex (made for a pic18f452 - character lcd displaytech 162c, 16x2 - no AIN module, pots directly connected on analogue input pins of the pic - DOUT and DIN both with 3 SR, but left apart for the test app). Anyways, it doesn’t work with any other hex file.
As I mentioned, I received the sysex string : F0 00 00 7E 40 00 01 F7 on startup. Though, The loopback test of gm5 doesn’t work (although I checked with an oscillo at school : data are transmitted from the pc, as a led placed between gm5:out pins indicates, and when I applied a square wave on GM5:in, I received a lot of midi events, which seems to prove that my g35 is actually working - so why the loopback test doesn’t work ?) - I tried “lowering the Low Level Output Buffer size (normaly set to 2048) and increasing the output delay” in midiox. Successless.
Datas are actually transmitted by the pic, as the test out1 and the gm5 led both indicate, and moreover I do receive the correct sysex string at startup.
Just to be sure, before test PC1 I just selected for both send and receive, the gm5 midi port 1 ; after, I selected all the five ports, it didn’t work anyway.
So, let’s go again for all that troubleshooting stuff …
Test prog 1 : errrr … I hope I can trust smashTV ?
Test core 1 : quartz 10.000 AEC08H, rechecked the datasheet, actually a parallel cut.
Test core 2 : not for me (I’m using V3).
Test core 3 : working on a breadboard, with all connections checked by multimeters.
Test core 4 and 5 : everything OK, ca. 0V on ground and 5.11V on Vdd.
Test core 6 and 7 : polarities already checked a million time.
Test core 9 : …
Test core 10 and core 11 : anyways I receive the good sysex string !!!
Test out 1 : led flickers, so does gm5 led on startup.
Test out 2 : my midi out grounds are not connected (only a shielding if I well understood ?)
Test PC 1 : first chose “MIDI USB port 1” on both input and output. Then tried with the five at the same time. Am I wrong here ?
Test PC 2 : receive nothing (but as I mentioned, my GM5 seemingly works in both directions).
Test in 1 : 220 ohms, red-red-brown, even checked with multimeter.
Test in 2 : checked for the million-and-first time.
Test in 3 : the led is lit but doesn’t flicker while sending sysex (although the gm5 led does). This tends to confirm the idea I had that my core’s opto doesn’t work. Well, let’s go forth …
Test in 4 : the led is still lit when connected at either pin 6 or 8 from the opto…
Test in 5 : Ok, led flickers.
Test in 6 (opto’s standalone) : aaaaaaaaand … uuuuuh ? it WORKS ? led is on when j13:m- is free, off when grounded … grrrr … so if the opto is fine, why does my led not flicker when connected on Rx and sending sysex???
Test in 7 : all my hopes rely on it. I beg you please, please don’t work …
Blaaaah seems to work, I have 5.11 V (the normal voltage output of my 7805 circuitry) when switch cable open, and ca. 45 mV when closed.
Test inout : gm5 led flickers, but nothing received. Tried all the possible configurations of the polarity, doesn’t work as well.
Test SW1 : unable to upload hex code again …
Test SW2 : this one I didn’t burn by myself. Again, I blindly rely on smashTV bootloader’s burning abilities.
Summing it up : there’s two main issues
-
I don’t seem to have any MIDI signal relayed by my core’s opto, and yet it seems OK (anyways I’ll buy a new one and see)
-
I’ve seen from my eyes (greatly helped by an oscillo and a wave generator) that my gm5 works in both directions, though I don’t receive anything when I loop it back and send him a sysex dump (and yet, its led flickers). Besides, I do receive a sysex on startup, so I don’t understand why the loopback tests don’t work. I use simple wires (about 20 cm long, pair-twisted) to connect to GM5, and have the MIDI out grounds from both core and gm5 opened. Could the issue come from it ?
Oh, and something I forgot : I made my first attempts with the gameport, since I have no MIDI plugs on my computer. I thought the upload problem could also come from here, that’s why I got on building a GM5. You know the following.
Thank you for having read this hard piece of bla bla.
[minimal.zip](< base_url >/applications/core/interface/file/attachment.php?id=5286)
[minimal.zip](< base_url >/applications/core/interface/file/attachment.php?id=6339)

