-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
It's much too early to prepare SD card support for applications, because I'm still in the evaluation phase. Meanwhile I've written routines to read/write sectors, but it's still unclear to me, if FAT support is feasible for applications like MBSID, because it requires a lot of additional code. Maybe with some dirty programming tricks it will be possible... Means in other words: it's a piece of cake to use a SD card as BankStick replacement, but once you want to transfer files to/from a computer as well (-> FAT support), a solution which works flexible enough probably gets too complex. Some useful resources I found: FAT16 driver by Roland Riegel: http://www.roland-riegel.de/sd-reader/ FAT in a nutshell: http://home.teleport.com/~brainy/fat16.htm A very geeky SD socket replacement by Rob Wentworth: http://uanr.com/sdfloppy/ The last side confirms, that data input and output can easily be merged to a single line, which means, that only 3 GPIO pins are required (one dedicated pin for CS#, two pins for clock and data IO). The upcoming sdcard driver will allow to freely assign the pins to GPIOs I won't have the time to continue the evaluation in the next two weeks, but you can be sure that SD cards will be supported in future :) (I will open a new thread later). A nice demonstration project would be a MIDI file player, but it could also be a MIDI stream recorder ;) Best Regards, Thorsten.
-
I guess, that you missed the pin list: http://www.ucapps.de/mios/mios_pin_list.txt I would propose to start with pin RC4, RC5, RD4 (I guess, that you are not using touch sensors) In order to assign these pins, add following lines to the Makefile: [tt] # include MAX72xx driver MAX72XX_DEFINES += -DMAX72XX_CHAINLENGTH=1 MAX72XX_DEFINES += -DMAX72XX_LAT_CS=LATC -DMAX72XX_TRIS_CS=TRISC -DMAX72XX_PIN_CS=4 MAX72XX_DEFINES += -DMAX72XX_LAT_SCLK=LATC -DMAX72XX_TRIS_SCLK=TRISC -DMAX72XX_PIN_SCLK=5 MAX72XX_DEFINES += -DMAX72XX_LAT_DIN=LATD -DMAX72XX_TRIS_DIN=TRISD -DMAX72XX_PIN_DIN=4 include $(MIOS_PATH)/modules/max72xx/max72xx.mk [/tt] LATx and TRISx are described in the PIC datasheet. For you it's probably sufficient to know, that they control the pin output value and tristate driver Btw.: this is how you can add the driver into a C application. I assume that you will do the first experiments in C to save time. I'm currently a bit too lazy to describe the differences between defining constants in assembly (which would be done in main.inc) and in C (where it is done in the makefile) However, the AOUT driver is a nice example which shows the differences (e.g., have a look into the most recent MBSID/MBFM/MBSEQ or MBCV code) All the documentation issues are btw. a big blocking point for me, which prevents me from releasing the programming platform. I fear, all the different possibilities makes it too complicated. :( Best Regards, Thorsten.
-
Hi Mike, no problem, I will add this. Any other suggestions for new event modes? Are you using any "progression parameter"? Chaining doesn't work properly together with these functions. Yes, I think I should add the possibility to sync to any measure between 1..128 steps - it would also solve other issues (e.g. synchronized pattern change after 4 bars) This will be a global parameter for all tracks. Best Regards, Thorsten.
-
looking for suitable 74HC... device(s) for a given truth table
TK. replied to ilmenator's topic in Parts Questions
Ok, it's clear now - only the bus routing is time critical, but this should work fine with the 74HC devices :) Using discrete devices for the so called "glue logic" is the best way to go for such a project, because other solutions require special equipment (e.g. an EPROM programmer), which makes DIYing more expensive. Best Regards, Thorsten. -
looking for suitable 74HC... device(s) for a given truth table
TK. replied to ilmenator's topic in Parts Questions
Great idea! :) Do you know the maximum bus frequency? I fear, that a PIC cannot handle it... It sounds like a typical FPGA project. There are cheap evaluation boards available with huge external SRAMs. You could also interface a CF or SD card in addition + the original PCM card (mostly there are hundreds of IOs), but it would require some HDL skills. However, maybe an ideal project to get into this topic :) Best Regards, Thorsten. -
Controlling a MAX7221 via DOUT interface requires a lot of programming skills, because you need to know, how to write a "sequential state machine" which controls the register write accesses on each SRIO update cycle. PWM: see this article However, I think, that the application has enough spare pins to drive the chip via GPIOs (only the CS# line should be a dedicated output, all others can be shared). The README describes, how to adapt the pins - it's easy! Best Regards, Thorsten.
-
looking for suitable 74HC... device(s) for a given truth table
TK. replied to ilmenator's topic in Parts Questions
If equipment doesn't matter, you could use a PLA (e.g. years ago I used GALs for such purposes) Or if size/PCB area doesn't matter: just use a memory, e.g. an EPROM with parallel interface, and program the complete logic table into it. Best Regards, Thorsten. -
looking for suitable 74HC... device(s) for a given truth table
TK. replied to ilmenator's topic in Parts Questions
Manual Optimisation: http://de.wikipedia.org/wiki/Karnaugh-Veitch-Diagramm Experts would quickly write the terms in Verilog or VHDL, and push the "synthesis" button ;) Best Regards, Thorsten. -
switching encoder/ledrings assignments with a button
TK. replied to matrigs's topic in MIOS programming (Assembler)
Addendum: with MB64E you can achieve this by assigning buttons to the group switching functions as documented here: http://svnmios.midibox.org/trunk/apps/controllers/midibox64e/doc/midibox64e_sfb_table.txt 128 parameters are available per bank, which means: if you are using 16 rotary encoders, they are splitted over 8 groups. LEDs: one DOUT has to be mapped to value "9": # 9 Selected Group (1 of 8 ) so that 1 of 8 LEDs is lit depending on the selected group. see also the midibox64e.ini file of the mk_syx package Best Regards, Thorsten. -
RGB version of BLM.asm I just need help with one section
TK. replied to intellijel's topic in MIOS programming (Assembler)
If you are doing code modifications which should be re-used in future by other people, please start with the most recent code which is available in the MIOS repository Otherwise, changes I already did for the blm module have to be redone for your module - this is very time consuming :-( Best Regards, Thorsten. -
switching encoder/ledrings assignments with a button
TK. replied to matrigs's topic in MIOS programming (Assembler)
MIDIbox MM is a C based application, and it supports LED rings: http://svnmios.midibox.org/trunk/apps/controllers/midibox_mm/src/mm_vpot.c Best Regards, Thorsten. -
interconnection test - pin d7 should be 0 when cs# 0 ?
TK. replied to matrigs's topic in MIDIbox SID
D7 should stay at 5V, so it seems to be a short circuit between CS# and D7 Best Regards, Thorsten. -
Yes, the screws are doing the trick. The construction itself is stable, I'm still using my original hardware since many years. But maybe I should highlight, that I mostly got bad marks in handicrafts @ school ;) Best Regards, Thorsten.
-
merging ain64_din128_dout128_v2_0.zip AND blm_example_v1_2.zip
TK. replied to intellijel's topic in MIOS programming (C)
No, this works fine (e.g., the blm module is also used by the MBSEQ V3 application) Best Regards, Thorsten. -
I moved this topic, because I fear that the endless "but you can do this with linux as well" discussion could start in a forum section, which mainly intended for organizing bulk orders (people could loose the oversight) I was using Linux for more than 13 years, mainly for programming and internet stuff; in parallel I used Windows for doing music stuff (Logic Audio, Reaktor). There was always the issue, that I had to switch between the operating systems, e.g. if I wanted to try out some new MIDIbox code with a real application, and back to Linux if I wanted to reply on an email... after a friend demonstrated MacOS, it was clear to me, that no other OS supports my personal requirements so well :) Best Regards, Thorsten.
-
I'm using Linux/Solaris computers @work, PC as Tarantella client and for eagle, and Mac for the rest However, before it gets more off-topic, I splitted the thread and moved this to the misc section ;) Best Regards, Thorsten.
-
Hi, this is a frequently asked question, and the answer is unfortunately still the same: no there is no programming example for recording MIDI streams. Best Regards, Thorsten.
-
Vielleicht hast Du die Encoder-Pins falsch angeschlossen? Falls das Datenblatt nicht weiterhilft: es gibt nur drei moegliche Verdrahtungsmoeglichkeiten - probiere mal die beiden uebrigen aus :) Gruss, Thorsten.
-
Hallo, der microQ sendet aber nicht einen neu selektierten Patch, die Parametersend-Funktion ist hauptsaechlich zur Automatisierung gedacht. Zum Parsen (und senden) von geraetespezifischen SysEx-Strings muesste man sich eine eigene Applikation schreiben. Gruss, Thorsten.
-
Too much speed optimisation... right half will be cleared again in the next release Best Regards, Thorsten.
-
This beautiful MIDIbox SID V2 has been built by Kevin aka. Subatomic Don't miss his construction blog: http://www.subatomicglue.com/sidl0g/ :)
-
This MIDIbox FM has been built by Markus - he confirmed, that it can perfectly built by electronic novices when you just take your time! :)
-
I'm using the evaluation board from Ploytec... 1) we've to wait until the PCB layout is ready 2) thereafter I've to ask Ploytec for a confirmation, that they handle the PCB order for us 3) thereafter I can tell you the exact prices (+ taxes and shipping) 4) thereafter I need the final quantity numbers for GM5/PCBs from your side 5) I will collect the money and order the chips and PCBs (maybe in parallel, if most people prepayed fast enough) 6) I (and maybe also Screaming_Rabbit) will send you chips/PCBs once they are available It can be assumed, that we will order 500 chips. Everybody who is already in the list will get the requested quantity Note that we have to order n x 100 PCBs! Best Regards, Thorsten.
-
Please offer it here in the forum, and not at EBay Best Regards, Thorsten.
-
Can this all be done with C? or how can I call asm functions?
TK. replied to intellijel's topic in MIOS programming (C)
Yes, just have a look into existing modules. You can get write access to the repository if you want. This allows you to publish your modules Best Regards, Thorsten.