Jump to content

TK.

Administrators
  • Posts

    15,261
  • Joined

Everything posted by TK.

  1. Ok, habe die Aenderung eingebaut, nun muesstest Du mal Dein Repository updaten, ein neues MIOS bauen und aufladen. Geaenderte Files: mios_enc.inc macros.h cmios.h Unschoen: die Applikationen sind nun nicht mehr binaerkompatibel zur alten MIOS Version - muessen also ebenfalls neu kompiliert werden. :-/ (zum Glueck kein Problem fuer MIOS32, da es direkt in die Applikation gelinkt wird) Viel Spass beim Testen! Gruss, Thorsten. P.S.: hier der geaenderte Code - er sieht zwar etwas laenglich aus, verbraucht jedoch exakt genausoviele Bytes wie die Jumptable zuvor - und wird zudem schneller abgearbeitet und ist dank Deiner Idee mit der speziellen Kodierung des Encoder Typs flexibler! BRA_IFSET IRQ_TMP4, 3, ACCESS, MIOS_ENC_Do_89ABCDEF MIOS_ENC_Do_01234567 BRA_IFSET IRQ_TMP4, 2, ACCESS, MIOS_ENC_Do_4567 MIOS_ENC_Do_0123 BRA_IFSET IRQ_TMP4, 1, ACCESS, MIOS_ENC_Do_23 MIOS_ENC_Do_01 ;; 0: Do_Nothing ;; 1: Do_Dec BRA_IFCLR IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 4, ACCESS, MIOS_ENC_Do_Dec rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_23 ;; 2: Do_Inc ;; 3: Do_Nothing BRA_IFSET IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 0, ACCESS, MIOS_ENC_Do_Inc rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_4567 BRA_IFSET IRQ_TMP4, 1, ACCESS, MIOS_ENC_Do_67 MIOS_ENC_Do_45 ;; 4: Do_Inc ;; 5: Do_Nothing BRA_IFSET IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 3, ACCESS, MIOS_ENC_Do_Inc rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_67 ;; 6: Do_Nothing ;; 7: Do_Dec BRA_IFCLR IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 5, ACCESS, MIOS_ENC_Do_Dec rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_89ABCDEF BRA_IFSET IRQ_TMP4, 2, ACCESS, MIOS_ENC_Do_CDEF MIOS_ENC_Do_89AB BRA_IFSET IRQ_TMP4, 1, ACCESS, MIOS_ENC_Do_AB MIOS_ENC_Do_89 ;; 8: Do_Dec ;; 9: Do_Nothing BRA_IFSET IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 7, ACCESS, MIOS_ENC_Do_Dec rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_AB ;; A: Do_Nothing ;; B: Do_Inc BRA_IFCLR IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 1, ACCESS, MIOS_ENC_Do_Inc rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_CDEF BRA_IFSET IRQ_TMP4, 1, ACCESS, MIOS_ENC_Do_EF MIOS_ENC_Do_CD ;; C: Do_Nothing ;; D: Do_Inc BRA_IFCLR IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 2, ACCESS, MIOS_ENC_Do_Inc rgoto MIOS_ENC_Do_Nothing MIOS_ENC_Do_EF ;; E: Do_Dec ;; F: Do_Nothing BRA_IFSET IRQ_TMP4, 0, ACCESS, MIOS_ENC_Do_Nothing BRA_IFSET TABLAT, 6, ACCESS, MIOS_ENC_Do_Dec ;; rgoto MIOS_ENC_Do_Nothing [/code]
  2. Das nenne ich mal eine Innovation! :) Die Verwendung einer Tabelle wuerde zu mehr Code und einer laengeren Laufzeit fuehren, da TBLPTR[LHU] ja bereits zum Auslesen der Encoder-Tabelle verwendet wird. Es gibt jedoch eine einfache Methode, um selbst die Jumptable zu umgehen (via Checkbit- und Branch). Ich werde das gleich mal blind einhacken, und die Aenderung in das Repository stellen - heute noch Lust, die Aenderung auszuprobieren? Dank der speziellen Codierung muss MIOS wohl nur einmal neu aufgeladen werden :) Gruss, Thorsten. P.S.: den Thread splitte ich gleich
  3. Hi, it's difficult, but not impossible. Basically the formula is: (128 * (POT_VALUE-MIN))/(MAX-MIN) This has to be calculated in fixed point arithmetic. Let's check the required value range for the worst case (MIN=0, MAX=1023, POT_VALUE=1023): dividend: 128*(1023-0)) = 130944 (thats a 17 bit value) divisor: (1023-0) = 1023 (thats a 10 bit value) To calculate the dividend, a multiplication with 128 is required. This can be done by leftshifting (POT_VALUE-MIN) 7 times. In addition, we have a 16bit substraction. The divisor has to be calculated with a 16bit substraction as well. The divison will be 24/16 bit I've an example here: http://svnmios.midibox.org/filedetails.php?repname=svn.mios&path=%2Ftrunk%2Fapps%2Fsynthesizers%2Fmidibox_sid_v2%2Fsrc%2Fmath_div24_16.inc In the MBSID source code you will also find many examples for a 16bit substraction and for leftshifting values if required (I don't know your knowledge level, unfortunately you forgot to introduce yourself!) Best Regards, Thorsten.
  4. Ich werde Deine Tabelle in die aktuelle MIOS Version einbauen. Das kostet dann zwar 40 zusaetzliche Bytes, doch die sind es wert! ;) Wenn man DETENTED[45] wie folgt codiert: MIOS_ENC_MODE_DETENTED2 EQU 0xc3 MIOS_ENC_MODE_DETENTED3 EQU 0xc4 [/code] dann koennte man einfach nach einer positiven Ueberpruefung des 7ten Bits zur alternativen Tabelle verzweigen. Gruss, Thorsten.
  5. - USB for more than 100 times faster transfers - the capability to drive any graphical LCD type (even the cheap ones) without performance impact - possibility to communicate via ethernet by using OSC messages (not related to LC protocol, but a nice option) Best Regards, Thorsten.
  6. Yes, you can! (see the two MBSEQ V4 demo videos) MBHP_CORE_STM32:J8/J9 and J1 of the Frontpanel PCB can be connected with a 1:1 cable: Best Regards, Thorsten.
  7. :) Best Regards, Thorsten.
  8. Which MIDI interface is connected to the MIDI OUT of your core module? And: http://www.ucapps.de/howto_debug_midi.html What's the result of TEST_INOUT1? Best Regards, Thorsten.
  9. It will work with PBrennerNG: http://www.sprut.de/electronic/soft/pbrenner/pbrenner2.htm Best Regards, Thorsten.
  10. Hallo Alex, danke fuer die Ursachenforschung! Ich habe bereits erwartet, dass sich das Problem so einfach loesen laesst, bin jedoch nicht davon ausgegangen, dass da noch jemand anderes "durchsteigt". ;) MIOS scannt die Pins periodisch, und wertet sie dann mit einer Finite State Machine aus. Deine Tabelle findest Du unter mios_enc.inc wieder: ; State Machine (own Design, the Machine from Microchip on AN519 ; is too simple and doesn't work correctly!) ; changed 2000-1-5: special "analyse" state which corrects the ENC direction ; if encoder is rotated to fast - I should patent it ;-) ;; ENC_STAT[3..0] = LB, LA, B, A ;; type 0x00 - INC: 2, B, D, 4 ;; DEC: 1, 7, E, 8 ;; type 0x80 - INC: B, 4 ;; DEC: 7, 8 ;; type 0x81 - INC: B ;; DEC: 7 ;; type 0x82 - INC: 4 ;; DEC: 8 movf IRQ_TMP4, W andlw 0x0f JUMPTABLE_2BYTES_UNSECURE rgoto MIOS_ENC_Do_Nothing ; 0 rgoto MIOS_ENC_Do_Dec_ND ; 1 - only if NON_DETENTED rgoto MIOS_ENC_Do_Inc_ND ; 2 - only if NON_DETENTED rgoto MIOS_ENC_Do_Nothing ; 3 rgoto MIOS_ENC_Do_Inc_D13 ; 4 - only if NON_DETENTED, DETENTED1 or DETENTED3 rgoto MIOS_ENC_Do_Nothing ; 5 rgoto MIOS_ENC_Do_Nothing ; 6 rgoto MIOS_ENC_Do_Dec_D12 ; 7 - only if NON_DETENTED, DETENTED1 or DETENTED2 rgoto MIOS_ENC_Do_Dec_D13 ; 8 - only if NON_DETENTED, DETENTED1 or DETENTED3 rgoto MIOS_ENC_Do_Nothing ; 9 rgoto MIOS_ENC_Do_Nothing ; A rgoto MIOS_ENC_Do_Inc_D12 ; B - only if NON_DETENTED, DETENTED1 or DETENTED2 rgoto MIOS_ENC_Do_Nothing ; C rgoto MIOS_ENC_Do_Inc_ND ; D - only if NON_DETENTED rgoto MIOS_ENC_Do_Dec_ND ; E - only if NON_DETENTED rgoto MIOS_ENC_Do_Nothing ; F [/code] Bisher ist sie jedoch nur fuer 4 Encoder Typen ausgelegt. Um Speicher zu sparen (was ja beim PIC leider gang und gaebe ist...) sind diese Typen trickreich zusammengefasst, was eine Anpassung an einen weiteren Typ etwas schwierig machen wird. Doch Du koenntest die Tabelle ja mal versuchen so anzupassen, dass Deine Encoder richtig ausgewertet werden - und ich koennte dann bei Bedarf bei der Speicher-Optimierung helfen. Fuer MIOS_ENC_MODE_DETENTED3 gibt es noch keine Grafik, ich habe das mal irgendwann fuer jemanden auf die Schnelle eingebaut, doch nie sauber dokumentiert... :-/ Zum besseren Verstaendnis des Algorithmus koenntest Du auch mal in die C Variante des Encoder Treibers reinschauen: mios32_enc.c Gruss, Thorsten.
  11. Sounds like the PIC is sending with the wrong baudrate. Maybe you use the wrong crystal for this board as well? Best Regards, Thorsten.
  12. Yes, I'm planning to do this. The MBHP_CORE_STM32 module is already built into my MBLC, but it can take some weeks until I will find the time to port the PIC based firmware to MIOS32 Best Regards, Thorsten.
  13. Hi *, this thread informs you about the latest release, and it gives you the possibility to write down your feedback (bug reports, questions about existing features, suggestions for new features, etc...) The current MBSEQ V4 release can be downloaded from http://www.ucapps.de/mios32_download.html Please read the CHANGELOG.txt for latest changes Documentation: IntroductionHardwareFrontpanelInstallationTutorialsMenu PagesSessions16x16+X Button/LED MatrixOSC OptionV3->V4 UpgradeFirst Steps (not ready yet)Known issues and Troubeshooting tips (no known issues yet ;)) Best Regards, Thorsten.
  14. TK.

    MIDIbox SEQ V4

    After almost one year of work on the new MBHP_CORE_STM32 module, MIOS32, some example applications and documentations, I'm happy to announce the availability of "Core32" kits in SmashTV's MIDIbox Store, and the release of MIDIbox SEQ V4 as a public beta version! :) (press the Reload button on your webbrowser if you don't see the updated pages) Documentation: Introduction Hardware Frontpanel Installation Menu Pages V3->V4 Upgrade First Steps (not ready yet) Known issues and Troubeshooting tips (no known issues yet ;)) [br] List of major changes: uses the new MBHP_CORE_STM32 module (ARM Cortex M3 based derivative) firmware completely rewritten in C - it can be optionally emulated under MacOS patterns/songs/grooves/configs/etc. now stored on SD Card in a FAT32 filesystem USB MIDI natively supported, MIDI events are sent more than 100 times faster to a DAW/virtual synth two "common" MIDI IN and MIDI OUT ports, up to 8 additional MIDI OUT ports can be added with MBHP_IIC_MIDI modules track length increased to 256 steps track memory can be partitioned, e.g. 64 steps and 16 parameter layers, or 256 steps and 4 parameter layers. Each track provides 8 trigger layers resolution increased to 384ppqn (16 times faster than common MIDI clock) new MIDI event scheduler concept priorises and sorts queued MIDI events new parameter layer options like "Pitch Wheel", "Roll" and "Probability" special drum mode for easier editing of percusive patterns additional chords (now: 32 in Major/Minor scale) new track progression parameters like "Interval/Repeat/Skip" groove templates can now be customized and stored on SD Card Echo Fx with variable number of repeats, damp, tempo change, note incrementer (can be forced to scale!) LFO Fx with different waveforms, synchronized to track clock, step based selection of period and reset, assignable to Note/Velocity/Length + separate CC with definable ppqn resolution value range Limiter Fx Loop Fx (also nice for editing) overworked realtime record function with better quantisation hardware configuration file now read from SD Card. No need to recompile the firmware on changes. Future beta updates will be announced here: http://www.midibox.org/forum/index.php/topic,14053.0.html A big thank-you goes to nILS for creating the layout of the MBHP_CORE_STM32 module, Bugfight and especially StrydOne and This for MIOS32 beta testing, Seppoman for providing the first STM32 presoldered prototype boards to programmers, SmashTV for providing STM32 presoldered PCBs to users, Wilba for creating the beautiful looking MBSEQ Frontpanel, Marco and Francois for beta-testing the firmware on their MIDIboxes, and to everybody else who gave me helpful proposals and mental support. Best Regards, Thorsten.
  15. I got the chips and PCBs today, PMs to people in the waiting list are sent out. I've more than enough chips and PCBs in stock. If you are interested to buy some, just follow the instructions explained in the Wiki: http://www.midibox.org/dokuwiki/doku.php?id=tk_gm5_bulkorder Best Regards, Thorsten. P.S.: following users in the previous waiting list are unknown: Unable to find member 'the antagonist'. Unable to find member 'igor'. Unable to find member 'sid'. Unable to find member 'schlalek'. Unable to find member 'beshanoe'. I wasn't able to inform you via PM!
  16. The SID Player is integrated into the MIDIbox SID V2 firmware. It will start automatically once ASID sends the SysEx stream. Best Regards, Thorsten.
  17. Tower says that we are ready for landing very soon ;) Best Regards, Thorsten.
  18. I second this! In order to avoid that somebody could get the wrong impression: You wrote to Smash: This sounds a bit like you are asking for a discount... maybe you don't know the role of Smash - one of our most respected forum members! Smash worked very hard in the last months to achieve best prices for the community, he sells the boards and kits for almost non-profit. It would be rude to ask him for a deal to make the boards even cheaper for a bulk order. I'm not sure if I misunderstood your question, but for me it left this impression and I want to ensure, that the facts are clear to everybody. Another point: germany isn't the best location for importing such a huge amount of goods, you would have to pay some extra taxes and duty since you are acting as a trader (at least for our well known Zollamt). This could quickly increase the price by 30% and more! In addition, the shipping will be delayed by +1..2 weeks once it goes through the german Zoll process... I asked for volunteers in the hope that we get some interesting options to save shipping costs. If nobody (of the experiences members in Europe) is interested, it could even be sufficient that orders are joined for a group of two or three people (block-wise) - especially if they are living in the same region - so that shipping costs can be easily divided. Short summary: you definitely won't save money by doing a big order Best Regards, Thorsten.
  19. TK.

    MBSID V2 CC Layer

    Following files have to be modified: http://svnmios.midibox.org/filedetails.php?repname=svn.mios&path=%2Ftrunk%2Fapps%2Fsynthesizers%2Fmidibox_sid_v2%2Fsrc%2Fsid_par_table.inc and http://svnmios.midibox.org/filedetails.php?repname=svn.mios&path=%2Ftrunk%2Fapps%2Fsynthesizers%2Fmidibox_sid_v2%2Fsrc%2Fsid_cc_table.inc Best Regards, Thorsten.
  20. I don't think that this is really worth the effort - write the sequences on a paper, and enter them again on your MBSEQ V4. Start to improve the sequences - thats fun and automatically leads to better results, epecially once you are adding the new V4 functions. The effort for me to write a conversion script which has to consider all those V3 specific event modes would be much higher. Best Regards, Thorsten.
  21. Very cool! Blogged :) Best Regards, Thorsten.
  22. The announcement for the availability of the STM32 based core was planned as a surprise this weekend ;) In order to save shipping costs, somebody could organize a bulk order from Smash for Europe. Any volunteers? Best Regards, Thorsten.
  23. Ja - passt! Gruss, Thorsten.
  24. Klasse! Ich kenne wohl mittlerweile soviele Fehlermodi, dass ich ueber eine Kandidatur bei Wetten Dass nachdenken sollte ;-) Gruss, Thorsten.
  25. Super! :) Gruss, Thorsten.
×
×
  • Create New...