-
Posts
15,246 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Hi Pascal, ok, I guess that I've also found the reason for this problem: MIOS_GLCD_TMP1 is used by the IIC driver as temporary counter and it is also used by app_lcd.inc as temporary buffer. Means: the counter function overwrites the buffer. Shit happens - never use registers w/ different routines... :-/ Workaround: replace USER_LCD_PrintChar by following function: USER_LCD_PrintChar ;; temporary save character in MIOS_GLCD_TMP3 SET_BSR MIOS_GLCD_TMP3 movwf MIOS_GLCD_TMP3, BANKED IRQ_DISABLE ; interrupts have to be disabled during IIC transfer call MIOS_IIC_Start ; start IIC movlw USER_LCD_IIC_DEVICE_ADDRESS ; send device address call MIOS_IIC_ByteSend SET_BSR MIOS_GLCD_TMP3 movf MIOS_GLCD_TMP3, W, BANKED ; send character call MIOS_IIC_ByteSend call MIOS_IIC_Stop ; stop IIC IRQ_ENABLE ; enable interrupts return
-
Hi Phil, you've enough time to scan all switches in the USER_SR_Service_Finish hook - for comparison: this hook is also used by MIOS to handle with up to 64 rotary encoders, it takes 400 uS in worst case and loads the CPU by 40% (since the hook is called every milisecond) RC0-3 can be controlled by the ISR. They are also controlled by the AIN driver, but only when the multiplexers are enabled J14 is controlled by the SRIO driver, by setting bit "TRISD, 4" you can use it as input pin w/o conflicts. Best Regards, Thorsten.
-
No, the PIC18F isn't code compatible to the PIC16F... however, the bootloader provides all the functions which are necessary to test the MIDI IO: it sends a SysEx string after power-on (MIDI-Out test) and it reacts on incoming upload requests (MIDI-In test) Best Regards, Thorsten.
-
Hi Pascal, yes, I've a clue :) I've implemented an IIC slave with the PIC16F877 today (*) in order to test the master function and noticed that the clock stretching feature of the IIC bus is more important than expected - a temporary version is now available here: http://www.ucapps.de/tmp/mios_v1_3b2.syx.zip The clock stretching routine doesn't come with a timeout mechanism yet, this means: if the slave doesn't react or if you unplug an IIC device, MIOS could reboot after 2 seconds. This will be fixed in the final version. The final version will also allow to disable the clock stretching for fastest transfer to the BankStick. Important: w/ the clock stretching function you have to add a 1k pull-up resistor to the SCL line! (*) some words to the PIC16F slave: Richard suggested the support of IIC a while ago in order to allow a simple adaption of hardware extensions. I plan to publish the PIC16F based IIC/MIDI skeleton under GPL to give you the basics. The DMX extension could be realized in this way - the example already provides a buffered MIDI In/Out accessible via the IIC bus. In other words: the example can be used as MIDI IO extension for MIOS, more than 100 MIDI IO ports could be controlled from a single MIOS core ;-) Best Regards, Thorsten.
-
you could use the RxTx test: http://www.ucapps.de/howtodebug/test_rxtx.hex.zip it just forwards incoming events to the MIDI Out Best Regards, Thorsten.
-
No, with these inputs (sometimes working, sometimes not) it's impossible to give usefull tips into the right direction. First try to find the root cause why your hardware is so unstable - check the solderings, cables, etc... and use the verify function of IC-Prog to ensure that the firmware has been burned correctly into the PIC. Best Regards, Thorsten.
-
Yes, Logic occupies the port, but you could create an external "virtual" connection by using MIDI-Ox in combination with MIDI Yoke to duplicate the MIDI events. MIDI-Ox allows also to apply an additional filter so that only events generated by the GPC mode are forwarded to the MIDI Yoke port. Best Regards, Thorsten.
-
Just use the search function of this forum: Search for: vic20 Max Age since last post: 300 Search Best Regards, Thorsten.
-
Since the required upload procedure wasn't clear to some people, here a diagram which can be found at the Bootloader page now: Best Regards, Thorsten.
-
Does the tx test send other events than SysEx data? -> you've activated the SysEx filter in MIDI-Ox Did you check the pinning of the MIDI socket? -> exchanged cables Did you check the output signals with a LED? http://www.ucapps.de/howtodebug/midi_out_led.gif NOTE: this simple LED circuit helps to indicate the outgoing signal, but it consumes some power - you have to disconnect the LED before connecting the MIDI Out of your MIDIbox with the MIDI In of your PC! Best Regards, Thorsten.
-
The LC handling itself already has been implemented, the bars are visible on the screen. The firmware also allows to switch the LEDrings between "normal" and "metering" mode. The only feature which is missing is the possibility to use LEDrings and meters in parallel with a single core - and this will be implemented as soon as I've enhanced my own hardware (so that I can test the code). --- the same for external MTC digits. Best Regards, Thorsten.
-
Hallo, die ICs solltest Du lieber nicht direkt auf die Platine loeten - dafuer sind die IC-Sockel vorgesehen. Vorteil: so vermeidest Du eine Ueberhitzung des Bausteins und kannst ihn spaeter problemlos auswechseln, falls er mal kaputt gehen sollte (*), bzw. speziell PIC: um die Firmware zu aktualisieren. Das LCD wird ueber ein Flachbandkabel angeschlossen. Das Reichelt-LCD hat einen gruenen Hintergrund. Gruss, Thorsten. (*) die ICs die hier verwendet werden sind extrem robust und nahezu unkaputtbar, aber man weiss ja nie...
-
Hi Thomas, Unfortunately Microchip has changed the project file format, the old files are not compatible - you have to create a new project and add the main.asm file (nothing else) - thats all. Best Regards, Thorsten.
-
The configuration will be described after this feature has been implemented... ;-) Best Regards, Thorsten.
-
...just a question: did you upload MIOS itself? This has to be done once before uploading any application. Best Regards, Thorsten.
-
You don't need to bypass the bootloader, it's working. You are receiving 0F messages, this means that the checksums are correct and the code has been uploaded successfully. So the root cause for the failure must be related to any (currently unknown) MIOS problem or to a misconfigured hardware. Did you equip the whole core module - especially the required pull-up resistors? Best Regards, Thorsten.
-
I just got following input from a MIDIbox user. Before this change Reichelt billed 30 Euro and more for shipping to foreign countries... Best Regards, Thorsten.
-
It could take some days, however, I just have extended the mios_vectors.inc table by the already available IIC functions and I wrote a small example based on the Matrix Orbital specs (which are hopefully correct) First upload this interim MIOS release: http://www.ucapps.de/tmp/mios_v1_3b.syx.zip Thereafter the IIC example: http://www.ucapps.de/mios/custom_lcd_iic_v1.zip If it doesn't work with your display, you possibly have to change the control codes (or just the device address) in app_lcd.inc If this app is running (you should see a "Hello World" on the screen), you can add the driver to existing applications by copying "mios_vectors.inc" and "app_lcd.inc" into the appr. directory and by reassembling the code. You also have to add the MIOS_LCD_TypeSet function to the init code, alternatively you could burn the bootloader again with an adapted ID field. Btw.: The IIC functions could also be used to communicate with other PICs or peripheral chips - Remark: MIOS itself doesn't support the IIC slave functions since the appr. pins are allocated Best Regards, Thorsten.
-
The table should be ok, so I guess that either your modification hasn't been assembled/uploaded correctly, or the DIN chain isn't terminated. To check the software: open "mmd_display.inc" and change some characters in TEXT_DLY_0, TEXT_TRANSP_0, TEXT_CHN_0, TEXT_CFG_0 --- just to ensure that the modified code has been uploaded To check the hardware: ensure that the SER input of the last 74HC165 is terminated with a 10k pull-up resistor. You could also upload the ain64_din128_dout128 application to check if there are floating pins (open inputs) Best Regards, Thorsten.
-
Fine! :) Best Regards, Thorsten.
-
Which data do you receive on a "Patch request"? F0 00 00 7E 46 00 01 00 F7 (use the send/receive function of the MIDIOx SysEx tool) Best Regards, Thorsten.
-
Did you set the correct display type in the PIC ID header? It should be 00 for character LCDs - don't use a number != 0 if no display is stuffed, otherwise MIOS could reboot infinitely under some special circumstances. Quick check: take the "small skeleton" and add following code below USER_Init: USER_Init ;; CLCD: define default enable pins for first and second LCD movlw 0x37 ; Pin D.7 movwf MIOS_PARAMETER1 movlw 0x24 ; Pin C.4 movwf MIOS_PARAMETER2 movlw 0x00 ; set type #00 call MIOS_LCD_TypeSet return Best Regards, Thorsten.
-
Hallo Momo, 1) die Platine heisst Mplus_V1, sie basiert auf dem neuen Layout 2) alle Anschluesse sind vorhanden. Das LCD, die Potis und die Taster werden nicht direkt auf die Platine geloetet. Die kleineren Ausbaustufen sind auch kein Problem, einfach die entspr. Bauteile weglassen 3) die Firmware ist kompatibel zu den neuen ...A typen. Nimm bitte einen PIC16F877A, der PIC16F874 kann nur 128 Poti-Einstellungen speichern 4) die Knoepfe sind von Waldorf, TzanhZsu hat damals die Sammelbestellung organisiert :) Soft-Potiknoepfe gibt es bspw. bei Conrad. Tasterknoepfe: evtl. http://www.albs.de 5) klar, gilt auch weiterhin. Meine Adresse gibts per EMail Gruss, Thorsten.
-
Kurz: Du suchst nach einem "Drucktaster EIN" (auch "Schliesser" genannt): T_250A Mit 0.12 EUR sind sie die guenstigsten und dementsprechend "fuehlen" sie sich auch an. Meine Favoriten sind die runden Taster von ITT ("DT_6", 0.45 EUR) sowie die Noname-Kurzhubtaster ("Taster_3301B" bzw. "Taster_3301D", 0.10 EUR) falls der Platz auf der Frontplatte mal knapp wird. Gruss, Thorsten.
-
it depends on the CPU load. In the last time I oftenly had to increase the latency to 12 mS for more complex song setups with >20 audio tracks + a lot of PlugIns for each track. For smaller environments and for Reaktor in standalone mode 3 mS is the best choice. CPU: Athlon 1.4 GHz Best Regards, Thorsten.