-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by TK.
-
Hallo, entweder taugt es wirklich nichts, oder es benoetigt eine gewisse Grundbelastung, damit es sich nicht permanent automatisch ein- und ausschaltet. Dieses Problem hatte ich mal mit meinem C128 Netzteil, abhilfe: ein Fahrrad-Gluehbirnchen als Grundbelastung ;-) Gruss, Thorsten.
-
Sure, this would be a solution... Best Regards, Thorsten.
-
uploading attachments should be possible now Best Regards, Thorsten.
-
Hi Robin, such tables can be stored everywhere in the flash memory, so you could also save it in the same file like the code which accesses it, or you can create a new file which contains all your own stuff. Note that the tblrd*+ method I demonstrated here works only when the table is located in program flash. Storing the table in EEPROM or BankStick requires the appr. MIOS_*_*Read* Funktions To check the allocated memory locations I'm normaly looking at the end of main.lst where the "memory usage map" can be found. Serge's Tool: which data do you mean exactly? Best Regards, Thorsten.
-
This: http://69.56.171.55/~midibox/forum/index.php?topic=3852.0 is possibly the best solution for high resolutions Best Regards, Thorsten.
-
Hi Luke, yes, you can cut and/or chain them You can save some money by purchasing some1x40 instead of smaller ones Best Regards, Thorsten.
-
Hi Michael, you don't need to modify MIOS, you could write a dedicated driver which hooks on USER_SR_Service_Finish and is part of an application Best Regards, Thorsten.
-
midibox sid - what does a good, basic control surface consist of?
TK. replied to tomtiki's topic in MIDIbox SID
Hi Tom, yes, all seperate encoders of StepC are useful, I don't want to miss any of them :) Best Regards, Thorsten. -
The PIC doesn't provide an integrated DAC. Sometime people are using the PWM outputs to generate different voltage levels, but there are only two sources, the voltages are not adequate enough and a cheap(er) DAC would do a better job Best Regards, Thorsten.
-
Both assumptions are correct! Best Regards, Thorsten.
-
Hi, the pictures are not accessible. You could use the Joystick ports as external BankStick slots. Best Regards, Thorsten.
-
Hi, It's even possible to build a least-cost version without an AINX4 module. See the comments in main.asm: ; Number of connected pots ; Allowed values: 1-64 #define DEFAULT_NUMBER_POTS 64 ; number of connected pots ; ; Multiplexers (AINX4 modules) connected? -> set this value to 1 ; No multiplexer connected= -> set this value to 0, allowed number of pots in this case: 1-8 #define DEFAULT_MUX_ENABLED 1 ; enable multiplexers [/code] In "unmuxed" mode the pots have to be connected directly to the J5 Best Regards, Thorsten.
-
Hi Luke, the technical problem which prevents me from implementing a tap function is a lack of resources within the PIC. An additional timer would be required which provides a reference clock which runs independent from the "BPM timer". Without this timer it isn't possible to measure differences between the tapped and the current tempo. Best Regards, Thorsten.
-
Setup Midibox Link FP or EP by default ...
TK. replied to gillesdeshays's topic in MIOS programming (Assembler)
Can you please tell me why you don't configure the merger mode in your midibox64e.ini file (-> see mk_syx package)? Best Regards, Thorsten. -
Hi, can you please write your questions in a more readable form, because I'm not able to find out which buttons should be useless with pots, and if you already know that only two displays can be connected to the core module or not... (resp. which displays are supported by the firmware) To the part list: maybe somebody else can check this? Best Regards, Thorsten.
-
Hi, yes, the wiring of the LEDs is very simple when you are *not* using a stripboard. I took 4 long blank cables for the cathodes (in a row), and 6 shorter blank cables for the anodes (in a column). These cables are directly connected to the DOUT module. Since the LEDs are clued into the panel and sitting very stable, the danger for shorts is very low. The clueing and wiring was a job of about 1..2 hours Best Regards, Thorsten.
-
Hi Wise, I tried your code and think that it works in principle, but needs some finetuning. One error: "MIOS_TIMER_Init(4,39062)" is wrong, I guess that you want to select a 1:4 prescaler, the appr. number is 2 4 is an invalid value, but I can tell you that it selects mode 0, which means: prescaler 1:1 The program works better when the timer is running faster. I checked it with a detented ALPS STEC11 (24 pulses per revolution) and MIOS_TIMER_Init(0,15000) which is ok, but not the optimum. From my impression the physical force which is required to move the encoder from one to another detent makes a fine resolution of 6bit impossible. I also tried it with the (so called) "chinese low-cost encoders" which were organiced by Ian Hurlock some time ago, they are working much better than ALPS (in your case!!!) with MIOS_TIMER_Init(0,10000) Yes, maybe it makes sense to reduce the resolution to allow a better (and not so random-like) handling. It could also make sense to use a table which maps the counter values to the output values Best Regards, Thorsten. P.S.: debug hint: you can write: void Tick(void) { MIOS_LCD_CursorSet(0x00); MIOS_LCD_PrintHex2(counter); } [/code] to debug the counter. Tick() is the best function for such debug messages, because it is called when nothing else is to do. It's only important that this function never runs longer than ca. 300 uS to reduce the risk for a MIDI In buffer overrun Best Regards, Thorsten.
-
Fine! :) Touchsensor: see the schematic at the DINX4 page Best Regards, Thorsten.
-
Good news! SDCC has reached a good stability again, so that that the use of the "latest and greatest" build (>20050123) is highly recommented. Because of some conceptional changes in the compiler a new wrapper is required: http://www.ucapps.de/tmp/mios_c_wrapper_beta2.zip You can migrate your existing C code by copying all files from the skeleton directory (and subdirectories) except for main.c into your project directoy. The only change in main.c: void ENC_NotifyChange(unsigned char encoder, unsigned char incrementer) has been changed to: void ENC_NotifyChange(unsigned char encoder, char incrementer) Best Regards, Thorsten.
-
Hi Robin, to the JUMPTABLE macro: this is the right syntax: JUMPTABLE_2BYTES 10 ; entries change "andlw 0x03" by "andlw 0x0f" before the macro Table: you want to store 5 bytes per table entry. It's important to know about this assembler bug: it's not possible to create table entries with an odd size - the assembler will fill it to an even number (so that a table entry will contain 6 bytes instead of 5). In order to make this more clear, I suggest the use of 6 bytes per entry. Or better: 3 16-bit words. Here an example: ;; -------------------------------------------------------------------------- ;; In: index (table entry number) in WREG ;; Out: BankStick Address in MIOS_PARAMETER[12], ;; Dump Size in TMP[12], ;; BankStick number in TMP3 ;; -------------------------------------------------------------------------- BANKSTICK_DUMP_Get mullw 6 ; each entry has a size of 6 bytes ;; result of multiplication in PROD[LH] ;; add offset to base address of table (16-bit addition) ;; copy result to TBLPTR[LH] movlw (BANKSTICK_DUMP_TABLE & 0xff) addwf PRODL, W movwf TBLPTRL movlw (BANKSTICK_DUMP_TABLE >> 8) & 0xff addwfc PRODH, W movwf TBLPTRH ;; first entry: bankstick number tblrd*+ movff TABLAT, TMP3 ;; second entry: dummy, not used tblrd*+ ;; next two entries: bankstick address to dump tblrd*+ movff TABLAT, MIOS_PARAMETER1 tblrd*+ movff TABLAT, MIOS_PARAMETER2 ;; last two entries: counter tblrd*+ movff TABLAT, TMP1 tblrd*+ movff TABLAT, TMP2 return ;; the table BANKSTICK_DUMP_TABLE ;; BS Nr Addr Offs dw 0x0000, 0x1000, 0x1000 dw 0x0000, 0x2000, 0x1000 dw 0x0001, 0x1000, 0x1000 dw 0x0001, 0x2000, 0x1000 [/code] (not tested!) Best Regards, Thorsten.
-
Hi, where to you live? Maybe somebody who reads this forum lives near you and can help Best Regards, Thorsten.
-
Hi, P&G has a quality problem, see also http://forum.keyboards.de, and search for Mackie Control --- unfortunately the text is in german, but http://babelfish.altavista.com should help Currently it's also not clear if the MBHP_MF + the MIOS_MF driver can handle with a P&G fader correctly. Somebody reported bad experiences in the Troubleshooting section. But who knows, maybe he also got some defective faders from P&G :-/ Best Regards, Thorsten.
-
Hi rasOfir, there won't be explicit steps - but of course, you can build the synth step by step in a similar manner like MIDIbox SID. It's only important to know about the strict hardware requirements. I won't support the same flexibility like for MIDIbox SID - the higher complexity requires a large display, 8 soft buttons, etc... MIDIbox FM will already run with a single MBHP_CORE and MBHP_OPL3 board + at least one BankStick. In this case all parameters have to be controlled via SysEx (-> JSynthLib). Most of them can also be controlled via CC "CS Step A": requires one DINX4, one DOUTX4, a 2x40 LCD, 8 "soft button", one ESC button, one shortcut button, 4 INSTR/OP buttons, one INSTR/OP select button, 10 LEDs and one detented rotary encoder "CS Step B": requires 10 selection matrix buttons + 24 LEDs + 4 rotary encoders and thats all, you will have a complete MIDIbox FM Best Regards, Thorsten. P.S.: all schematics and interconnection diagramms are already published
-
Thank you! I must say that those random patches really make fun, I will create the same for MIDIbox FM :) Best Regards, Thorsten.
-
Thanks :) app_defines.h is the right name, don't rename it, otherwise you are not able to build the project anymore Best Regards, Thorsten.