Jump to content

goule

Programmer
  • Posts

    191
  • Joined

  • Last visited

    Never

Everything posted by goule

  1. Works like a charm, thank you guys ! void Init(void) __wparam { (...) MIOS_MIDI_MergerSet(MIOS_MIDI_MERGER_DISABLED); (...) } // This function is called by MIOS when a complete MIDI event has been received void MPROC_NotifyReceivedEvnt(unsigned char evnt0, unsigned char evnt1, unsigned char evnt2) __wparam { MIOS_MIDI_TxBufferPut(evnt0); MIOS_MIDI_TxBufferPut(evnt1); MIOS_MIDI_TxBufferPut(evnt2); }
  2. Hi folks ! Thanks fro that fast answers ! ;) That's what I need to find : how do you ignore bytes (mean : how not to merge them to the output) without using the MIOS_MPROC_MergerDisable() function ?
  3. Hi guys, My controller is in MIDI merge mode, so that I can receive and transmit notes from my master keyboard (P60) to the outside world together with my controller MIDI messages. I want to get rid of the realtime MIDI messages that comes out of my P60 and simply ignore them. Those are 'timing clock' (0xf8) and 'active sensing' (0xfe). I've tried this : void MPROC_NotifyReceivedByte(unsigned char byte) __wparam { // This function is called by MIOS when a MIDI byte has been received if ((0xf8 == byte) || (0xfe == byte)) MIOS_MPROC_MergerDisable(); else MIOS_MPROC_MergerEnable(); } The filter works but when I play with the controllers, it seems like it completely messes up the note on / note off messages, and if you keep on playing on the keyboard after a while everything gets back to normal (until you touch the controller again). I suppose this is due to the fact that I should be sure that the message is only 1 byte long before cancelling it ... does anyone know how to do this ? :P
  4. I didn't find any "Add" button (or anything similar) to add the code in the SVN page ... ??? Edit : OK, found the info : http://www.midibox.org/dokuwiki/doku.php?id=windows_toolchain_svn Seems like I need upload right by the way, do I ? : "There is a section of the forum with restricted access for programmers who may need to upload. If you need this access, PM TK, he may add you into this group."
  5. Hi Stryd_one ! Why not, but what path should I place my files into ? (woOoOps this sounds like bad english is it :P) [/] [trunk/] [apps/] [controllers/] ? By the way : HAPPY NEW YEAR PEOPLE :D I wish you a year full of MidiBox projects ! By my side I plan to build a new one : some very tiny box I would insert between my beloved E-MU e6400 Ultra and my MIDI inteface, just to add some "patchcord" ability to the sampler. FYI, in E-MU synthesis, a patchcord allows to route sources to destinations just like in an old modular synth (very powerful, but some great ideas are missing in the OS). mmm ... still a little bit early to wish anything, I know, but : 1) I'm in France; new year happens before US here (well, I know there's a ton of europeans out there also !) 2) At midnight hour I'll be dr*nking, I doubt I'll be in a shape to post anything valuable, neither able to make any soldering stuff ... LOL
  6. Added to the wiki page : two videos ... and more to come ! Bye
  7. Guys, it's been a long time I had to put the specifications + C code of the Arkade online, so I finally created a simple wiki page : http://www.midibox.org/dokuwiki/doku.php?id=arkade The download link is at the bottom. Cheers ! PS : for the front panel that what quite a long story but a friend of a friend had access to some drilling monster machine :D Goule
  8. Hey guys thanks for showing up ;D EEPROM would have been great solution but 17*16=272 bytes ... bit too much :( (256 available) I did the test to totally unplug the bankstick module & replug it; of course everything's still there :-[ I was a fool to have doubts about this ... I'll go for the simplier BankStick way of storing my names. I got 8 sticks so I'll dedicate 7 for the presets (with the FFU fiels I can store 64 presets per module, that gives 7*64=448 presets which is already way too much 8) The end is near ! ;D :) Thanks guys
  9. Hi people, My user-project is a midi controller with 17 sensors, each of which has a 16 letters name (2 blocs of 8 characters) and the user can change the name at any moment by moving a data wheel on any letter. Here is the way the arrays are declared : unsigned char CTL_NAME_PART1[17][9]; // the ninth character is for \0 unsigned char CTL_NAME_PART2[17][9]; Today these arrays are initialized byte after byte from the content of the bankstick. But I'm not very satisfied with a solution that relies on the content of the bankstick. I want to find a way to initialize the arrays, and I want to avoid doing it letter by letter. The problem is when I try this : CTL_NAME_PART1[0] = "Whatever string"; I get a "cannot assign values to aggregates" error ... any idea ? I already tried other solutions, some of them telling me I hadn't enough memory to do this ... is it bad news ? Is there a real risk to rely on the content of the bankstick ? For instance, what happens if the bankstick module itself gets unplugged ? Is all the data lost ? Thanks for your help ! Olivier
  10. mmm ... did you mean : AUAIMBCTG ? (small mistake ? 8)) m8 : thank you so much for that beautiful answer I was waiting for ! :D ;) I searched for "star wiring diagram" or so ... without success. Your url rocks, even if the exact diagram I had seen monthes ago on ucapps was bit more different (showing a 'real' starry way of connecting a bunch of pots, not only 8 ) but perhaps I gotta investigate your link deeper. EDIT : found it, I was blind : http://www.midibox.org/users/tor_arne/midibox64_walkthrough/pot_wiring.jpg Thanks thanks and thanks again !! 8)
  11. Hi crew, My user-project is almost done, but I still get some annoying values coming out of the AIN :-\ so I was wondering where this crap could come from. I have 17 pins connected to pots, different sensors, and as an example I would say that in a minute, three or four of my controllers will send their value to the AIN instead of remaining 'silent'. It's often the same pins that 'talk' ::). I connected all the unused entries to +5v ... should I try to connect them to ground instead ? ??? There was a time I found a document on ucapps showing an example of a soldering diagram ("star" soldering, as far I as can remember). That was supposed to be the best method to connect pots together. Does this ring a bell to anyone ? I forgot to tell that sometimes the values get crazy, like : 0, 83, 81, 83, 0 (a very short jump from the normal 0 value ... :'() Have a good week-end ! Cheers from France, ;D Olivier
  12. Unfortunately, 17 is my number of controllers ... gotta keep this one :-\ But I could choose to go with CTL_NAME[17][15] as 17*15=255 ... This would let me 14 characters (+1 term.) for the name. But I already coded the read/write stuff for the splited name structure : Reading : for (ctl=0; ctl<17; ctl++) { for (cpt=0; cpt<16; cpt++) { octet = MIOS_BANKSTICK_Read((ctl << 4)+cpt); if (cpt<8) CTL_NAME_PART1[ctl][cpt] = octet; else CTL_NAME_PART2[ctl][cpt-8] = octet; } CTL_NAME_PART1[ctl][8] = '\0'; // On insère les bons terminateurs CTL_NAME_PART2[ctl][8] = '\0'; // de string sur les fins des 2 tableaux } // 3) CTL_CC[] : for (ctl=0; ctl<17; ctl++) { CTL_CC[ctl] = MIOS_BANKSTICK_Read(272+ctl); } and writing : for (ctl=0; ctl<17; ctl++) { for (cpt=0; cpt<16; cpt++) { if (cpt<8) error |= MIOS_BANKSTICK_Write((ctl << 4)+cpt,CTL_NAME_PART1[ctl][cpt]); // << 4 = *16 else error |= MIOS_BANKSTICK_Write((ctl << 4)+cpt,CTL_NAME_PART2[ctl][cpt-8]); // << 4 = *16 } } // Ecriture des n° de CC for (ctl=0; ctl<17; ctl++) { error |= MIOS_BANKSTICK_Write(272+ctl,CTL_CC[ctl]); } MIOS_LCD_Clear(); if (error) { MIOS_LCD_PrintCString("Erreur BankStick"); MIOS_LCD_PrintBCD3(error); } else MIOS_LCD_PrintCString("BankStick OK "); Any comments appreciated to get things even better ::) ;D Btw I hope it is not too :-X for you ... ;D Cheerz
  13. Ok, what I'm gonna do is split each controller name into 2 parts, something like this : unsigned char NAME_PART1[17][8]; unsigned char NAME_PART2[17][8]; Much more simplier than to split into 2 groups of controllers, as the process is mostly the same for each controller. BTW, if anyone gotta better idea ... :P ;D Peace, Goule
  14. Hi all, back in the midibox universe ;) just have to finish my OS ... I have several MIDI sensors and until now every name was saved like this : const char CTL_NAME[17][16] = { "Joystick 1 X ", "Joystick 1 Y ", "Joystick 2 X ", "Joystick 2 Y ", "Joystick 3 X ", "Joystick 3 Y ", "Joystick 4 X ", "Joystick 4 Y ", "Pitch Bend Wheel", "Modulation Wheel", "DBeam Left ", "DBeam Right ", "Basic Knob 1 ", "Basic Knob 2 ", "Ribbon Ctrl V ", "Ribbon Ctrl H ", "Expression Pedal" }; Now I want to be able to edit/store/read those names in the BankStick. The problem is when I want to create the structure that will be receiving the data from the bankstick : if I create that kind of things ... unsigned char CTL_NAME2[17][17]; ... I get the error message "no target memory available", even with this simple command. I can easily manipulate BankStick but do I have to read it every time I want to display the name of the controller that has been touched ?? :-\ :-X Thanks for helping !
  15. Hi Thorsten, If my calculations are correct, raising the upper border to 0x7fff only provides one more ko for program (20 ko instead of 19 - I mean for the program only-), which is not such a big upgrade ... but the PIC18F4685 seems to be the real thing when it comes to writing complex applications ! :D Thanks for that quick answer and for that very good news ! ;D Olivier
  16. Hi, I start this topic again to ask if anything has changed since new versions of MIOS : does the bootstrap loader still begins at the same address ? Is there other ways of increasing the available size for the program (except from optimizations of course ;D) ? Not that I'm already running short of memory but I was planning to eventually write a more complex application and will probably have to deal with this max size parameter ... Thanks all, Olivier
  17. thanks m8 waow :o that's huge ! I guess I won't even fill a pair of BS with presets ;D Another good news is that my project is done (except for the software of course ;)) I just have to close the box and cut that wood panels ... Thanks again, Olivier
  18. Hi all, I've just finished to solder my 8 24LC256 modules on the BankStick PCB. The goal of this post is to be really sure I understand well the dimension of total memory : I got 8*32kb = 256kb = 256 x 1024 bytes = 262144 (8 x 32678) bytes Let's say I want to use the MIOS_BANKSTICK_ReadPage( ) function and know I many memory pages of 64 bytes I can access : I got 262144 / 64 = 4096 pages. Is this true ? This sound quite big to me ... if it's the case I can store lot more setups I thought at first !! 8) ;D Thanks, Olivier
  19. Hi all, Did someone already thought about having a enveloppe follower that would take an audio input and deliver 0-5v to an AIN in order to output some MIDI CC that would act like an enveloppe follower ? Thanks, Olivier
  20. Wilba : I gotta resistor between signal + Vs and the way I treat the untouched state is with a threshold value : if PinGet(SoftPot)<SoftPot_Threshold, I consider it as silent. Once again (I know I repeat but this is due to my old age ;-)) : 1/ When using Arkade I realize how useful it is to have softpots on that kind of controler because you can also make it send note on messages, so if it's just about triggering samples it reacts with no latency and you can be very creative : - either you define zones on the softpot to emulate sorta piano-keyboard-layout - either you define it's a normal CC controler - it can be both ! say : at first touch it generates both note on and CC, and as long as you keep it touched it will only send CCs ;-) 2/ I got those samples for free from a company called SpectraSymbol (I believe most of you know the story but for the others ...) Just visit their website to check if it's still possible to get those samples (they even take delivery charges for themselves -even if it's only an enveloppe, this is already incredible imo) Cheers guys !
  21. Thorsten, I just seen your message : you were right man, seems like the pb was coming from a bad soldering directly on Vd pin of one of the joysticks ... ;) I'm feeling like I was frightened that everything was becoming crazy just at the time I was finishing that damn soldering-marathon (begun 2 years ago) :P You guess that kinda feeling ;D ;) Thanks all, Olivier
  22. I had the chance to find an unused AIN kit and replaced all the ICs of the buggy AIN ... nothing changed :-\ :'( I'm seriously dissapointed ... but there might be a logical explanation ... hope I'll find ... Perhaps a more understandable explanation about the syndroms : For two AIN neighbours : if I touch the first one, my applications says nothing (no movement); if I touch the second one, it alternatively sends the values for both as if they were simultaneously touched ... + both have always the same value for PinGet() ... and this is true for every pair of AIN pins ... Thanks Olivier
  23. Thanks both of you. I'm using the PIC18F452 so it surely comes from my hardware ;) thanks Thorsten. Michael your idea of having the 3 pin PCB is just brilliant ! I'll think of it for my next box :D ;D The pb is with the entire sensors, not only one or two ... I tried to limit number of AIN inputs to 4 (AIN 0 .. 3 are the left pair of joysticks) but the problem still occurs. I'll have to investigate deeply tomorrow. Do you think that if one of the for chips embeded in the AIN would be broken it could possibly lead to such symptoms ? Laterz specialists 8)
  24. [sOLVED] If anyone want to help, I posted a thread on the Testing/Troubleshooting forum here : http://www.midibox.org/forum/index.php?topic=9573.0 Problems with AIN ... :'( [sOLVED]
  25. Hi all, I have a user project that was working correctly until today. I have several analog sensors each of them are connected on an extra AIN module. To explain my pb, let's say the connection diagram is the following : analog inputs - sensors connected : AIN 1 - s1 AIN 2 - s2 AIN 3 - s3 AIN 4 - s4 The devices behaves like this : Sensor 1 works as if it was connected to AIN 1 & 2, sensor 2 is not responding Sensor 3 works as if it was connected to AIN 3 & 4, sensor 4 is not responding I believe it's a multiplexing problem ... ? Can this be a hardware failure ? Thanks for helping ... Olivier
×
×
  • Create New...