Jump to content

ris8_allo_zen0

Programmer
  • Posts

    173
  • Joined

  • Last visited

About ris8_allo_zen0

  • Birthday 09/15/1984

Profile Information

  • Gender
    Male
  • Location
    Netherlands

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ris8_allo_zen0's Achievements

MIDIbox Addict

MIDIbox Addict (2/4)

0

Reputation

  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
×
×
  • Create New...