Jump to content

ris8_allo_zen0

Programmer
  • Posts

    173
  • Joined

  • Last visited

Everything posted by ris8_allo_zen0

  1. Just found the issue. After a read of http://www.midibox.org/dokuwiki/doku.php?id=encoders, I found out that the two rightmost pins of the encoders were swapped
  2. Hi all, I'm at the beginning of writing a C application on MIOS8. The hardware is composed of a Core '452, a DIN and two voti.nl encoders attached to it (http://www.voti.nl/shop/catalog.html?SW-ROT-01). I'm using input pins 0/1 and 2/3. I'm using the skeleton application as a starting point (sdcc_skeleton_v1_1). MIOS on the chip is upgraded to version 1.9h. If I don't configure any encoders, I can see button events coming through DIN_NotifyToggle: ... and so on. But if I add an encoder table for a single encoder, like #include <cmios.h> #include <pic18fregs.h> #include <debug_msg.h> MIOS_ENC_TABLE { MIOS_ENC_ENTRY(1, 0, MIOS_ENC_MODE_DETENTED2), MIOS_ENC_EOT }; , I receive encoder events only for clockwise rotations (negative increments). If i change the encoder type to DETENTED/3/4/5, i get no events at all. Same exact thing happens with the other encoder, and even if I enable both (MIOS_ENC_ENTRY(1, 2, MIOS_ENC_MODE_DETENTED2)). I don't think there's a hardware problem because it seems to me that the input pins are working fine. Also, using different pins or using a second DIN didn't help. What did go wrong?... Thanks! Best regards, Enrico
  3. I'm glad you're fine Tim. I hope you and your people can recover from this event and get back to do amazing things in your lives.
  4. That's some happy news :) Thanks for the updates folks, I hope that everything gets better for him as soon as possible. Best regards, Enrico
  5. Hi all, it's been a long time since the last time I posted here... I've just heard about the Moore, Oklahoma disaster. I feel really sorry for the population. I also remembered that two of my orders of nice MIDIbox stuff came from somewhere in Oklahoma, packaged by SmashTV. I don't remember which city, though. I hope that it wasn't one of those hit by the tornado. SmashTV, are you OK? How are your family and friends? I hope to hear news soon. Best regards, Enrico
  6. Sorry for unburying this really old thread. I was looking for this program I wrote, but I see there are no attachments... were they deleted or were they just moved somewhere else? It's since a long time I didn't go in the forums and I'm a little bit lost with this new design. Best regards, Enrico
  7. It's for both, because I'm using only one DOUT for two DINs. I didn't do any "real" test yet (i.e. playing the piano) but I see that this resolution allows only to discriminate between two velocities, not more (an interval of 15-16ms or more means a really slow press). Thank you. I know about QBAS's code, but some time ago I preferred not use it because I didn't understand how to customize it with my hardware and decided to write the code by myself modifying the BLM module. QBAS's code directly controls the shift registers without using the MIOS functions; therefore it can scan the matrix much faster than 1ms per row. Instead, BLM relies on the MIOS functions having an unchangeable 1ms update rate (changing it would bring too many side effects, I think). I have to find a solution for myself, either with the above ideas or by re-evaluating QBAS's code. RAZ
  8. Hello, I'm currently building the hardware & software around a Fatar TP/9S keyboard I got from a friend. It has 63 keys with velocity sensing. Its keys are connected together to form two separate 8x8 scan matrices, which I managed to handle by modifying the BLM module in MIOS. I can currently send the correct MIDI note on/off events, and I'm really happy about this. My problem arises now that I want to implement velocity sensing. Since the BLM code scans the whole matrix in 8 SRIO cycles, it has a resolution of 7-8ms, which is too much as far as I see. I'd like a net resolution of 1ms, that means that MIOS should update its SRIOs every 125us, but MIOS_SRIO_UpdateFrqSet uses milliseconds as units. What is the better way to do? - modify the MIOS code to let MIOS_SRIO_UpdateFrqSet use a smaller time unit? - setup a user timer with a 125us period and force MIOS to update the SRIOs 7 out of 8 times? - ...what else? - surrender and live with that resolution? (not recommended :P) Many thanks for any help! RAZ
  9. In un Control Change si specifica innanzitutto il numero di controller, che è un numero da 0 a 127, quindi puoi controllare almeno 128 uscite contemporaneamente. Domanda: come software, hai considerato l'uso di MIDIO128? Non lo conosco per esperienza diretta ma sembra adatto al caso tuo. Ciao Enrico
  10. Dando un'occhiata ai sorgenti mi pare di capire che la gestione venga fatta da due file, cs_menu_enc.inc e cs_menu_enc_table.inc. Quest'ultimo (che è essenzialmente una tabella di tutte le funzioni degli encoder) sembra interessante per una rimappatura, ma purtroppo leggo anche questo: ; ========================================================================== ; In this table all encoder functions are listed ; the number and the position of entries are static and cannot be changed ; without a modification in cs_menu_enc.inc! ; ========================================================================== Magari con un po' di precauzione si riesce comunque a fare qualcosa, tipo scambiare un parametro con uno di un altro layer (come "delay" e "PWM" citati da iorobyy), per saperlo l'unica possibilità è provare. Ovviamente non mi ritengo responsabile di una benché minima infinitesima frazione di un bel niente ;) anche perché non ho mai provato una cosa del genere... Personalmente (che uso spesso anch'io PWM, portamento ecc.) opterei per rendere il layer "Misc" quello attivo di default all'accensione.
  11. Per la precisione, quell'encoder modificherà il PWM quando si seleziona il layer "Misc" con l'apposito pulsante. Cambiando layer, cambiano le funzioni di tutti e cinque gli encoder. Se ciò può aiutarti ad avere le idee un po' più chiare... Best regards, Enrico
  12. Una cosa tipo questa? http://www.midibox.org/dokuwiki/doku.php?id=pedal_box
  13. Direi entrambe. La quantità di hardware c'entra poco con le cose che ci puoi fare, visto che quelle sono implementate via software. Il minimo come HW è lo "Step A" del Midibox SID V2: solo due schede 6x8cm e oltre a un "drum engine" da 3 percussioni contemporanee (da un set di 16) ti ritrovi anche tre diversi tipi di synth (Lead, Bass e Multi). Poi ci puoi aggiungere un altra scheda SID e sali a 6 percussioni... ho già detto troppo, il sito è strapieno di informazioni sull'argomento, in particolare il relativo manuale. Facci sapere come va a finire!
  14. Ciao e benvenuto anche da parte mia nel mondo MIDIbox! Anch'io sono dell'idea che è più bello riuscire a produrre suoni "da sé" col proprio hardware che utilizzare metodi software come i VST. Mi sembra di aver capito dal tuo testo che vorresti realizzare un circuito che faccia sia da E-drum che da sintetizzatore di percussioni. In realtà è parecchio più semplice realizzare due progetti separati: l'E-drum e uno a scelta fra Midibox SID, FM e 808 (tutti e tre riescono a produrre suoni percussivi ma lo fanno con tecniche sostanzialmente diverse); poi sarà facilissimo collegare le due parti tramite un cavo MIDI. Inoltre puoi sempre usare l'E-drum e il synth che hai scelto con altri dispositivi, fra cui lo stesso PC con sequencer (Cubase per intenderci) e VST. Per quanto riguarda l'uso di schede SD: come ti ha detto cimo, né le SD né i microcontrollori usati in MIDIbox sono veloci abbastanza da leggere suoni campionati; anche l'uso di campioni in MP3 con decoder hardware non mi pare una gran soluzione nonostante il vantaggio della compressione, a meno che non ti voglia accontentare di riprodurre una sola percussione alla volta (*) e con una qualità audio non eccelsa. D'altro canto, la sintesi di percussioni è un altro mondo: hai infinitamente più libertà nel crearti i suoni che ti aggradano e le richieste hardware sono molto minori. Certo sarà difficile sintetizzare un suono fedele a quello di uno strumento, ma allora tanto varrebbe campionarlo e riprodurlo con l'hardware/software apposito... (*) potresti tentare di collegare diversi decoder MP3 al Core, in modo che ciascuno esegua una delle percussioni da eseguire contemporaneamente. Forse l'interfaccia Core-SD (discussa in questo thread) potrebbe farcela come velocità , ma tra il dire il fare c'è di mezzo Chuck Norris :D
  15. I hate Myspace, but downloading this great song was a good reason to join :D
  16. Yes, it is the same circuit. Yes, it is necessary to bring Vcc to IC5-IC8. I can't fully understand your question. Anyway, try to imagine each chip rotated by 180 degrees. The "pin 1 marker", located in the ICs' upper side in the schematic and in their lower side in the board, says that. Why not? Best regards, RAZ
  17. Thanks TK for the explanation. I tried the arpeggiator with split keyboard just now. It's fantastic!!! Best regards, RAZ
  18. While enjoying this great synth (and taking my chance to learn piano), I think I discovered a bug in rc25. Steps to reproduce: 1- activate the Multi engine 2- enable the "meter" led matrix mode 3- press some keys on your keyboard You'll see that all 6 oscillators are working in turn. 4- enable the arpeggiator 5- press at least a key once You'll see only one oscillator working, as expected (Multi engine can't work with the builtin arpeggiator). 6- disable the arpeggiator 7- press some keys on your keyboard You should see 6 oscillators, but only 5 work. The one chosen for arpeggiator doesn't participate anymore. If you repeat steps 4 to 7, you'll see other oscillators not working anymore, until monophony. Some workarounds: - change the engine and return to Multi. - restart the synth. - press six keys at the same time. Best regards, RAZ
  19. I have to report two issues related to 2x16 LCD display: Reading in the manual I casually discovered the "Dump" option in the Shift menu. I can't see it because my LCD doesn't display it and I can't scroll to it because the menu encoder works on the parameter previously selected before pressing SHIFT. Is there anything that can be done? (i don't need it so desperately, but who knows in the future...) While displaying the special "parameter assignment" page, part of the parameter string falls outside the LCD range, especially the oscillator/lfo/env number which is quite important. My proposal: for 2x16 displays only, sacrifice the | character and the space between the first string (defined in sid_par_table.inc) and the second one (created in sid_lcd.inc). In the latter one, eliminating the # character and shortening some long variants if needed. Many thanks!! Greetings, RAZ
  20. Ciao x-man, cercando "digital pot" sul Wiki ho trovato una pagina che potrebbe essere interessante al caso tuo: http://www.midibox.org/dokuwiki/midiboxfx_-_midifiying_analog_gear?s=digital+pot A quanto sembra ci sono diverse soluzioni, che richiedono di modificare i circuiti in modo da utilizzare dei surrogati di potenziometri. La bontà di una soluzione o un'altra dipende essenzialmente da come è collegato il potenziometro (un terminale a massa?), la sua scala lineare o logaritmica, le correnti/tensioni in gioco e la suscettibilità a un eventuale rumore digitale introdotto nel circuito audio da controllare. Prendo spunto da quell'articolo (cito solo quelle idee che ho capito abbastanza): C'è il Vactrol, cioè una fotoresistenza (LDR) accoppiata a un Led la cui luminosità è controllata dal tuo Midibox. Direi che è il meglio in fatto di isolamento dal rumore. Oppure esistono diversi integrati che agiscono da potenziometri digitali (che però possono avere limiti in corrente o in tensione). Oppure potresti realizzare una rete di resistori serie-parallelo (ladder) che entrano a far parte del circuito tramite degli interruttori controllati digitalmente (tipo l'integrato 4066). Lì credo sia importante trovare resistori a bassa tolleranza per avere un range lineare, ma puoi anche scegliere di creare una scala logaritmica. Se poi il potenziometro ha due terminali e uno è a massa, ti basta un transistor, qualche resistenza e un'uscita analogica dal tuo Midibox. Probabilmente dovrai fare un circuito diverso per ogni potenziometro da controllare, il che può essere un vantaggio se hai potenziometri di diverso valore. Saluti, Enrico
  21. Sorry for bumping this thread. I was just let you know that the thing grew up these months. Now it has two stereo 6582As, one mono 6581, 8 boards stacked in pairs, separated by mains cable rubber (some fantasy required to fit all the boards in a diamond-shaped box), and a DE-15 connector (the same as VGA) to output the 5 audio outputs with room for future external audio input wires.
  22. Hi all, I tried to compile button_duoled_matrix_v1_2b (which is a C application using the new programming platform, I think) in my Ubuntu 8.04 system and had some troubles: I thought it was something related to sh/bash, so I changed the following lines in include/makefile/common.mk around line 30: to A similar issue is in the last line bin/mios-sdcc: which I changed to These fixes worked for me. Moreover, gpasm and sdcc packages (and their related packages, sdcc-libraries) provided from the Ubuntu repository (i.e. from Synaptic) are too old for the MIOS programming platform. I also solved this issue by manually downloading the newer versions from the "unstable" Debian repository: http://packages.debian.org/sid/i386/gputils/download http://packages.debian.org/sid/all/gputils-common/download http://packages.debian.org/sid/i386/sdcc/download http://packages.debian.org/sid/all/sdcc-libraries/download Best regards, RAZ
  23. TK, you're simply the GREATEST!!! :D So bad I'm about 1600km far away from my SEQ and wait almost a month to test this new thing :( I've read CHANGELOG.txt, and noticed this thing: "additional button matrix handling for Wilba's frontpanel PCB". Please forgive me if you already remember this, but I already did a patch to support a 8x8 button matrix. Although it's just a dirt hack, I hope this will make your future work easier. Best regards, RAZ
×
×
  • Create New...