Jump to content

TK.

Administrators
  • Posts

    15,247
  • Joined

Everything posted by TK.

  1. Wenn Du wirklich stressfrei das Board in Gang bringen moechtest, dann solltest Du lieber nicht damit anfangen, Widerstaende, Kondensatoren oder gar Leitungen fuer die Spannungsversorgung einzusparen. Warum benoetigt man einen 1k Pull-Up an Pin RA4 wenn kein BankStick angeschlossen ist: ein freier Input Pin wirkt wie eine Antenne, MIOS erhaelt zufaellige Daten und verhaelt sich undefiniert. Wahrscheinlich wird die Applikation permanent melden, dass ein neuer BankStick ein- und wieder ausgesteckt wurde... Warum benoetigt man einen 1k Pull-Up an Pin RA4 wenn ein BankStick angeschlossen ist: weil der Ausgangstreiber im sogenannten Open Drain modus arbeitet. In diesem Modus werden nur Nullen getrieben, Einsen werden durch den Pull-Up auf 5V gezogen. Fehlt der Widerstand, so wird sich MIOS auch in diesem fall undefiniert verhalten. Warum benoetigt man einen 10k Pull-Up an Pin RC3 wenn kein DIN Modul angeschlossen ist: siehe oben - undefinierte Daten, MIOS wird zufaellige Button-Events ausloesen Warum benoetigt man einen 10k Pull-Up an Pin RC3 wenn ein DIN Modul angeschlossen ist: weil dadurch Plug&Play garantiert ist, Du kannst also auf die schnelle mal ein DIN Modul umstoepseln, ohne dass MIOS zufaellige Events ausloest. Ein Widerstand kostet 1-2 Cent, so what? Warum die doppelte Spannungsversorgung: weil es so in der PIC spezifikation steht und deshalb eingehalten werden sollte. Microchip garantiert nicht, dass die Voltage Domains intern miteinander verbunden sind. Wenn Du Glueck hast, funktioniert es zufaellig, doch mit jeder Chip Revision kann sich das aendern. Gruss, Thorsten.
  2. Hi Ian, check your encoder table in mios_tables.inc, all unused encoder entries have to be replaced by ENC_EOT. Btw.: if it's too complicated to add a button handler, just wait for the MIDIbox16E port (which will also allow to use more than 16 encoders), release: possibly after my holidays. Best Regards, Thorsten.
  3. Yes, you definitely want to add a resistor to the base to limit the I_BE current. I_CE doesn't really matter in this case. You can possibly connect 20 or more transistors to every pin Best Regards, Thorsten.
  4. Please don't forget to take a look into the schematic http://www.ucapps.de/mbhp/mbhp_core.pdf which contains the pin numbers, too Best Regards, Thorsten.
  5. Hi, yes, for 25 motorfaders 4 Core/MF modules are required. The number of IO ports depends on the host application. If you are using MIDIbox MF (will be released soon) and conjunction with a generic controller mode supported by the MIDI host application (Cubase, Logic, Sonar, etc.) you can simply chain the modules like descriped under Concepts->MIDIbox Link. If you are planning to use the Logic/Mackie Control emulation, you have to use 4 seperate IOs --- unfortunately the Mackie protocol is not prepared for a single IO port. Best Regards, Thorsten.
  6. Hi *, MIOS release V1.4 is now available for download, it provides following features: the IIC functions are now open for public, they can be used to access any IIC compatible device via port J4 in parallel to the BankSticks. Example: see the lcd7_iic driver there are two new hooks available which allow to monitor the incoming and outgoing MIDI traffic with zero latency: USER_MIDI_NotifyRx and USER_MIDI_NotifyTx. The motorfader driver now works much better with panasonic faders. New recommented calibration values: Alps: 0x0e@8V, Panasonic: 0x0c@8V automatic debouncing has been added to the SRIO driver which compensates temporal spikes caused by low-cost buttons. See also the detailed description of the MIOS_SRIO_DebounceSet function. Just add this function at the beginning of your application (below USER_Init) if required. a new display type #6 has been added which redirects single characters and strings to the MIDI interface. The used protocol is documented in the http://www.ucapps.de/mios/mios_sysex_implementation.txt a LCD message receiver has been added to the MIDI processor. Incoming characters will be print for 2 seconds on screen. Btw.: the same protocol will be supported by MBHP_TV in the next days it's now possible to write directly into a BankStick via MIDI. This opens the possibility to embed the BankStick content into the application by locating the data to address range 0x400000-0x407fff (24LC256; 32k) resp. 0x400000-0x40ffff (24LC512; 64k). Also the upload to multiple BankSticks is supported with the BankStick select function it's now possible to read directly from internal Flash/EEPROM and external BankStick via MIDI. This is a nice debugging help, but opens also the possibility to create backups and to copy (clone) the content of a BankStick New/Updated applications - in principle all applications are upward-compatible, some of them have been enriched by new functions: bs_xfer_v1_4 contains a step-by-step guide how to write, read and edit the BankStick content. Contains also a syx2asm.pl script lcd7_t6963c_h and lcd7_t6963c_v GLCD type #1 has been isolated from the official MIOS release and are now available as seperate modules lcd7_iic example for accessing an IIC device, also an example how to realize a custom display driver midibox_lc_v1_4 now provides software implemented MIDI Rx/Tx LEDs, LED meters and three different touch sensor modes midibox_sid_v1_5c_18f_stepC now also provides software implemented MIDI Rx/Tx LEDs. The Play mode bug in the CFG menu has been fixed, and the MIDI clock is now processed by USER_MIDI_NotifyRx with zero latency Have fun! :) Best Regards, Thorsten.
  7. Hallo Basti, 1) der PIC18F452 wird mit einem 10 MHz Quarz getaktet, bei 20 MHz spielt die PLL nicht mehr mit. Jeder PIC benoetigt seinen eigenen Quarz, wenn Du sie mit einem einzigen Bauelement versorgen moechtest, benoetigst Du einen externen Oszillator, das kommt jedoch meistens teurer. 2) funktioniert, Du kannst den SID-Takt jedoch auch vom Core-Modul abnehmen, siehe MBHP_SID doku, und somit alle 4 Oszillatoren einsparen. 3) ja, der 10k Pull-Up an Pin RD1 sowie der 1k-Pull-Up an RA4 sind jedoch zwingend notwendig, weil es Inputs sind, die nicht floaten duerfen. Gruss, Thorsten.
  8. Great solution, Driftz! :) Yes, although the power-saving time multiplexing there are still so much LEDs which are activated at the same time that transistors at all SR0 outputs make sense. Alternatively you could use a ULN2803 (normaly used to drive relays, see MIDIO128 page) Best Regards, Thorsten.
  9. Great solution, Driftz! :) Yes, although the power-saving time multiplexing there are still so much LEDs which are activated at the same time that transistors at all SR0 outputs make sense. Alternatively you could use a ULN2803 (normaly used to drive relays, see MIDIO128 page) Best Regards, Thorsten.
  10. Thanks for the input, will be fixed in the next days (once my new computer is working properly... ;-)) Best Regards, Thorsten.
  11. MIOS V1.4 will provide a function to read from/write into a BankStick (24LCxx and 24LCxxx) directly via MIDI. This means, that you will be able to burn the MBHP_USB firmware via a MIOS core. And btw.: it will also open the possibility to clone a MIDIsport 2x2, of course only for the people who already own this MIDI interface. Best Regards, Thorsten.
  12. Hi Matthias, the undocumented changes are changes which have been made before firmware v1.910 to avoid questions like "why do I see this or that component in the MBHP core schematic, but not in the MIDIbox Plus schematic?"... it's just to keep it consistent... now I'm surprised that they are confusing users who already built a MIDIbox Plus --- you only need to take care for the documented changes, believe me! ;-) In fact you only need to add the RD# line to the LCD to get v1.910 running on your older MIDIbox variant. you don't need to change the optocoupler. The CNY17-II is a low-quality optocoupler, the manufacturers don't guarantee that the same pull-up resistors are working - in fact most users noticed no problems, but some were not able to get the CNY17-II running. No problems anymore with the 6N138 - so no issue 100 Ohm resistor: just a suggestion by Microchip, but not really required - with this resistor it's easier to add a reset-button - so no issue Pin 4 and 5 are not tied to Vcc/Vss since the firmware doesn't use them as voltage reference anymore (due to layout reasons). It doesn't matter if you connect these pins or not - so no issue the 1k pull-up at pin 6 is for users who want to use the MB1664 variant and don't read the README before trying out the firmware - it's not required if you don't use the MB1664 firmware, so no issue pin 7 never was connected to ground the capacitors between pin 31 and 32 can now be found at the bottom (C3/C4) the MIDIbox Plus firmware doesn't make any additional difference between PIC16F874 and PIC16F877 beside of the snapshots storage Best Regards, Thorsten.
  13. It's also a good idea not to start with a complex application, but to learn the MIOS basics step by step with the short examples, which mostly contain a lot of comments. Best Regards, Thorsten.
  14. So long as MIOS based MIDIbox16E and MIDIboxNG not available, you either have to write a handler which allows to configure the speed like demonstrated in enc_speed_v1_3 (btw.: a nice application to find the optimal settings), or you have to add the configuration directly behind the USER_Init label. Example: ;; set speed value for all 64 encoders clrf TMP1 USER_Init_ENC_Loop movlw 3 ; speed divider 3 movwf MIOS_PARAMETER2 movlw MIOS_ENC_SPEED_FAST ; fast mode movwf MIOS_PARAMETER1 movf TMP1, W ; encoder number call MIOS_ENC_SpeedSet incf TMP1, F movlw 64-1 IFNEQ TMP1, ACCESS, rgoto USER_Init_ENC_Loop Best Regards, Thorsten.
  15. Just excellent!!! :D Steve, I will remind your invitation once I'm close to Australia again (but it seems that the next business trip goes to China ;-) ) Best Regards, Thorsten.
  16. Hi John, fine that you finally found the error. :) The upload won't work without the specific MIDI-Ox settings since burning data into a flash memory takes some miliseconds - read the instructions at the Bootstrap Loader page carefully for fast success ;-) Best Regards, Thorsten.
  17. TK.

    EEPROMs

    Hi Lo, it should work, but I never tried it... Btw.: on some shops the 24LC64 is available as 24LC65 Best Regards, Thorsten.
  18. TK.

    playing sids

    Since the MIDI protocol used by sidplay2 to access the SIDstation is not free available: no Or do you know any SID player with an open MIDI protocol? Best Regards, Thorsten.
  19. Hi DriftZ, Just read the comment above the function: ;; -------------------------------------------------------------------------- ;; This function is called by MIOS before the shift register are loaded And shift registers are loaded with the frequency specified by MIOS_SRIO_UpdateFrqSet (you should find this function call in your *_init.inc file - normaly every mS The problem with your code is, that ShowLower is called regardless of LEDDIGITS_PATTERN_CTR, 0 BTFSC LEDDIGITS_PATTERN_CTR , 0 call ShowUpper ;; (upper half of digit) call ShowLower ;; (lower half of digit) incf LEDDIGITS_PATTERN_CTR "btfsc" means: skip next instruction if clear - this means that ShowUpper will be skipped on every second cycle, but ShowLower will be called every time. Improved version: btfsc LEDDIGITS_PATTERN_CTR, 0 call ShowUpper ;; (upper half of digit) btfss LEDDIGITS_PATTERN_CTR, 0 call ShowLower ;; (lower half of digit) incf LEDDIGITS_PATTERN_CTR, F or better readable and understandable: IFSET LEDDIGITS_PATTERN_CTR, 0, call ShowUpper IFCLR LEDDIGITS_PATTERN_CTR, 0, call ShowLower incf LEDDIGITS_PATTERN_CTR, F (IFSET and IFCLR are some macros defined by myself (TK style, see macros.inc), they are using btfsc and btfss) Best Regards, Thorsten.
  20. Hi John, two ports were necessary for the old PIC16F based MIDIbox16E application, which will vanish from my website in some months just to avoid *such* confusion. With MIOS all DINX4 modules have to be connected to J9. in mios_tables.inc, MIOS_ENC_PIN_TABLE you have to assign the rotary encoders to the appr. DIN pins. Best Regards, Thorsten.
  21. Of course! Just assign one or two of the following IDs to the buttons of Layer A or B #define ID_MBLC_SWITCH_LC 0x94 ; switch to Logic/Mackie Control Emulation (like radiobutton) #define ID_MBLC_SWITCH_GPC 0x95 ; switch to General Purpose Controller mode (like radiobutton) #define ID_MBLC_TOGGLE_GPC 0x96 ; like a "caps lock" key #define ID_MBLC_HOLD_GPC 0x97 ; like a common "shift" key Best Regards, Thorsten.
  22. Bankstick switching is already supported by the MIOS based MIDIbox64 (beta) and it will be supported by upcoming derivatives (MB64SEQ/16E/MF/NG), and by the next MIDIbox SID version of course. Just for information... ;-) Best Regards, Thorsten.
  23. Hi Dan, the events which are used in GPC mode can be configured in mios_tables.inc, the strings in lc_gpc_lables.inc Ok, and the new release of MIDIbox LC allows to send a MIDI event when entering/leaving this mode: http://www.ucapps.de/tmp/mios_v1_3b4.syx.zip http://www.ucapps.de/mios/midibox_lc_v1_3b.zip This version provides also LED meters and a software controlled MIDI Tx/Rx LED. LED digits are not supported yet, since I have to add some hardware to my box in order to test this feature (can take a while) Best Regards, Thorsten.
  24. Here some beta stuff: http://www.ucapps.de/tmp/mios_v1_3b4.syx.zip - a beta release of MIOS which works much better with Panasonic faders (thanks again to Steve who sent me 3 faders for testing!). I've reduced the speed dynamic range so that the motors are driven slower, but much more precisely. The modification works also with Alps, therefore it isn't require to set a "Panasonic" flag. Required setup: Panasonic faders: 8V, CaliUp/Down: 0x0c Alps faders: 8V, CaliUp/Down: 0x0e I've also fixed the problem described by Steve in an earlier posting, that the faders sometimes don't reach the zero position. Zero position is now reached when the fader value is less than the AIN deadband value http://www.ucapps.de/mios/midibox_lc_v1_3b.zip provides now three different touch sensor modes: ;; following setting configures the touch sensor behaviour. The touch sensors of the motorfaders ;; have to be assigned to the DIN pins in lc_io_tables.inc - the appr. IDs are: ;; ID_FADER_TOUCH_CHN1, ID_FADER_TOUCH_CHN2, ... ID_FADER_TOUCH_CHN8 (8 sensors) ;; If the master fader option is used, the ID is ID_FADER_TOUCH_MASTER ;; ;; TOUCH_SENSOR_MODE EQU 0: touch sensor events (pressed/depressed) be forwarded to the host program ;; like specified in the Logic/Mackie Control specification ;; TOUCH_SENSOR_MODE EQU 1: like mode 0, but additionaly the sensors will be suspended via MIOS, so ;; that they are not moved so long as the touch sensor is pressed ;; TOUCH_SENSOR_MODE EQU 2: like mode 0+1, additionally no fader move (PitchBender event) will be ;; sent when the touch sensor is not pressed. ;; ;; The mode "1" by default to avoid circular troubleshooting requests in the MIDIbox forum from people ;; who don't read this information before starting the application. ;; Mode "2" should be the prefered setting if your touch sensors are working properly TOUCH_SENSOR_MODE EQU 1 Hope that this solves all problems. Best Regards, Thorsten.
  25. The solution is to alternate the patterns on every call of USER_SR_Service_Prepare, so that on the first cycle the upper half, and on the second cycle the lower half will be displayed. It's the same method which is used to multiplex the digits (thats the purpose of the counter...), your eyes won't regognize the fast changes. You could use a register named LEDDIGITS_PATTERN_CTR, increment this counter on every cycle (don't take care for overruns) - when bit #0 is set, write the first pattern to the SR, when bit #0 is cleared, write the second pattern. Best Regards, Thorsten.
×
×
  • Create New...