Jump to content

nILS

Frequent Writer
  • Posts

    4,313
  • Joined

  • Last visited

  • Days Won

    3

Everything posted by nILS

  1. While I do think optimism is a great thing, you can clearly overdo it...
  2. It isn't. It's most likely a remainder from optimizing the board. (Same bridge is still there between IC1 and IC2).
  3. http://members.aon.at/electronics/pic/picpgm/
  4. nILS

    rack switcher

    Yep. Kann sein, dass Du @mapping[0] nehmen musst und vor allem solltest Du die Länge des Arrays dann fix auf 64 setzen. Korrekt ;)
  5. nILS

    rack switcher

    Damit Du Dich nicht ganz so schwer tust, hier mal die Funktionen die Du brauchen wirst: Ist ungetestet, keine Ahnung ob das so geht ;) #define SWITCH_COUNT 4 unsigned char mapping[SWITCH_COUNT]; // values could be set here already unsigned char learnMode; ... ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS after startup to initialize the // application /////////////////////////////////////////////////////////////////////////////void Init(void) __wparam { unsigned char n; for (n=0; n<SWITCH_COUNT; n++) // reset all triggers mapping[n] = 255; // set to 255 (unreachable) learnMode = 0; // turn off learn mode } ... ///////////////////////////////////////////////////////////////////////////// // This function is called by MIOS when an button has been toggled // pin_value is 1 when button released, and 0 when button pressed ///////////////////////////////////////////////////////////////////////////// void DIN_NotifyToggle(unsigned char pin, unsigned char pin_value) __wparam { if (pin < SWITCH_COUNT) // pin number valid? learnMode = pin; } ... ///////////////////////////////////////////////////////////////////////////// // 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 { if (evnt1 >= SWITCH_COUNT) // is the program number invalid? return; if (evnt0 == 0xC0) { // program change if (learnMode) { // is learnMode set? mapping[learnMode] = evnt1; // set up the switch } else { // no learn mode MIOS_DOUT_PinSet(learnMode, MIOS_DIN_PinGet(mapping[evnt1]) ^ 1); // invert the pin state } } } [/code]
  6. nILS

    rack switcher

    Lad Dir einfach das App Skeleton runter - da ist schon alles drin, das Du brauchst ;) Einfach einen Blick in die main.c werfen, dann wird Dir das sicher alles klarer. Und selbst wenn Du weißt wieviele Schalter Du hast würde ich ein Array nehmen. Ist einfach schicker und deutlich flexibler (vielleicht will ja mal wer was ähnliches verwenden?) ;)
  7. nILS

    rack switcher

    Du willst also eigentlich keinen MIDI Switcher im Sinne von "er switcht MIDI" sondern einen "er switcht irgendwelche relais wenn er MIDI kriegt"? Wenn ja, dann ist das ziemlich einfach, und ich würde denken eine winzige Anwedung sollte das problemlos hinkriegen. Könnte in etwa so aussehen: mappingListe: Liste mit N Einträgen (N = anzahl der zu schaltenden Relais, jede Zeile hält den entsprechenden CC Wert) MIDIErhalten begin ist LernModus ungleich -1 ja: schreibe in der mappingListe in der Zeile die LernModus entspricht den Wert auf den, des empfangenen CCs setze lernModus auf -1 return nein: IstDerCCWertEinerDerAufEinenMeinerSchalterGemapptIst? ja: schalte das entsprechende Relais nein: tu nix. end learnTasterGedrückt(id des tasters) begin setze Lernmodus auf ID des Schalters end[/code] Hmm, in der Zeit hätte ich die App schreiben können ;) Ist das in etwa das, was Du Dir vorstellst?
  8. IIRC I tried and it worked. You *should* to use a different program for burning though. One that supports the 4620. WinPicPGM for instance.
  9. Hehe, and if you don't believe TK take a look at the source code... Then another. Then another... ;)
  10. Ahaha, I did say that mine looked a lot worse, too ;) Glad you got it working!
  11. I do ship to the US. You'll get your invoice soon.
  12. Writing to the SID is easy, it's just two SRs you need to fill. I'd go with a simple CC -> register mapping and write a custom app. You can even borrow the SR code from the SID app ;)
  13. SLP: 6582 != 6581 or 8580 ;) You can always try eBay if you really really want 6581/8580 I've seen a bunch go for pretty decent prices recently. You might wanna crosscheck the date code thingie with known-to-be-odd ones though ;)
  14. Yes you do. Write a PM to TK and ask him nicely for access.
  15. Mit Spectrasymbol's Softpots und ein wenig Erfindergeist lässt sich sowas ebenfalls recht kostengünstig lösen. Vorteil dabei ist eben gerade, dass man keine mechanischen Teile mehr hat. Passende LED-bars gibt's für wenig Geld zum Beispiel bei reichelt, die passen auch auf Lochrasterplatinen.
  16. *cough* done ;) Swapping for a salvaged one does seem reasonable. As well as posting pics of the board. Ya know, even heroes make mistakes every once in a while... [me=nILS]ducks[/me]
  17. Ja, weiß ich, Du allerdings scheinbar nicht. "Ruhig, Brauner" ist ein Zitat aus Wagners "Walküre" aus der Szene, in welcher die Walküren zusammentreffen und die gefallenen Krieger auf ihren Pferden mitbringen. Aufgrund von Spannung zwischen zwei Kriegern zu Lebzeiten sind die Pferde unruhig, woraufhin Helwige also zum braunen Pferd beruhigend "Ruhig, Brauner! Brich nicht den Frieden!" sagt. Also: runterkommen und ruhig bleiben. tauruz: Glückwunsch :-)
  18. Mein Post bezog sich auf die Encoder. Lesen. Runterkommen. Janz ruhig, Brauner.
  19. "HEY YOU! YES, YOU! READ THE STICKY THREADS!!!!!!": http://www.midibox.org/forum/index.php/topic,12845.0.html "Please Read Before Posting New Topics: What is a "User Project"?": http://www.midibox.org/forum/index.php/topic,8954.0.html
  20. Warning - while you were typing a new reply has been posted. You may wish to review your post. Egal: Um, LCD? 7-segment LEDs? Riemen gibt's ja im Baumarkt in Hülle und Fülle. Transparent, naja, is wurscht wenn mal 7-Segment LEDs oder ein LCD zur Anzeige hat.
  21. There's some on his flickr page ;) http://www.flickr.com/photos/frederius/
  22. Aloa und willkommen an Bord Henning! Im Moment scheint eine allgemeine Knappheit an günstigen Motordfadern zu herrschen. Doug Wellington wird allerdings in (verhältnismäßig) naher Zukunft welche verkaufen. Also entweder Du hast Glück und jemand hat welche übrig (unwahrscheinlich), Du kaufst gleich welche beispielsweise bei reichelt (teurer) oder Du wartest ;)
  23. So potential "bidders" have a rough estimate of what this is worth (prices from reichelt/Mike as of today), that's for new parts not stuck on PCBs: 12,50 1x core v3 module 07,40 1x ain module 08,80 2x DINx4 03,00 1x DINx2 00,46 50x button, black, "Digitast" (Reichelt DT 6 SW) 00,46 2x button, white, "Digitast" (Reichelt DT 6 WS) 00,75 26x Alps pot, 10k, vertical, 6mm (Reichelt RK09K113-LIN10K) <- those are great 04,50 2x Alps slider, 10k, 60mm travel (Reichelt RS60112-LIN10K) <- those are great too 02,10 2x Alps encoder, 24/24 - removed detention, w/o button, 6x11mm (Reichelt STEC12E07) 02,10 1x Alps encoder, 24/24 with detention, horizontal, w/o button, 6x11mm (Reichelt STEC12E05) ============================================================= 99,20€ [/code]
  24. No worries, man, that's why I reminded you ;) No, you won't need a dedicated core for this. What you might wanna do to ease the implementation is go with 2 Binary->BCD converters (74HC42) or the likes to drive two of the 7-segment LEDs (the third one will only need 2 lines as it's only displaying a "1" or nothing") to reduce the number of DOUT pins to 4 per display. This might be of interest: http://www.doctronics.co.uk/4511.htm
  25. SSP, I thought I had explained it already? Yes, it's doable, and yes, we'll help you with the source code ;-)
×
×
  • Create New...