-
Posts
15,247 -
Joined
Content Type
Profiles
Forums
Blogs
Gallery
Posts posted by TK.
-
-
Hi Marc,
from the HW side it should be possible with MIDIbox NG.
But do you already know, if these parameters are accessible via MIDI?
Best Regards, Thorsten.
-
Hi,
the encoder behaviour has been improved in an unreleased MIOS8 and MBSID version.
Please join the beta test! :-)
An update is very easy: install MIOS Studio (if not done yet): http://www.ucapps.de/mios_studio.html
Connect MIDI IN/OUT of your MB6582 to your computer, open MIOS Studio, select the MIDI interface, try the bidirectional communication with the "Query" button.
If working, first upload the new MIOS V1.9h version, thereafter the new MIDIBox SID application.
Both are linked in this posting:
Best Regards, Thorsten. -
Hi Chris,
did you enable the FANTOM_XR_VARIANT switch in keyboard.c?
In fully customized variant the din_key_offset parameter isn't considered.
Best Regards, Thorsten.
-
Of course, providing something to such an audience is a nice motivation :smile:
(as long as the requests don't get too illusory or clash too much with given concepts ;-)
Please try this version: http://www.ucapps.de/mios32/midibox_ng_v1_031_pre3.zip
Configuration examples can be found in cfg/test/diocfg_1.ngc:
and cfg/test/diocfg_2.ngc
I haven't tried this, but with this new feature is should also be possible to scan a 8x8 DIN *or* a 8x8 DOUT matrix (unfortunately 3 8bit ports would be required to scan a 8x8 DIN and DOUT matrix at the same time).
Best Regards, Thorsten.
-
The wishlist is located at the bottom of this file: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2FCHANGELOG.txt
But I only take over requests where I think that they are useful for myself, and/or the implementation & testing isn't so difficult.
And how can i use the J10B for connecting Buttons/Encoders? Cant find any documentation about it.When you don't find certain functions in the documentation, then it's very likely not available.
Either because nobody requested such a function yet, or there is a conflict with another function which you've overlooked.
When you are writing "Cant find any documentation about it" it sounds to me like a complaint, and not like a request! :no:
J10B (on MBHP_CORE_LPC17: J28) is typically used as extension port for CLCDs/GLCDs.
Normally I prefer to use the ports only for a single purpose to avoid conflicting configurations which could lead to the next request from somebody else to make it somehow possible without considering what it means at my end.
I spend some thoughts about possible solutions anyhow, and came to the conclusion that the most simple way would be to provide a new function which maps J10A/J10B to DIN or DOUT shift registers (some kind of "shift register emulation")
E.g. with:
DIO port=J10A emu_din_sr=1 DIO port=J10B emu_din_sr=2
I could provide the possibility to handle J10A and J10B pins the same way like pins of the first and second DIN shift register (id=1..16)
Advantage: this would work completely transparent for the firmware, so that encoders could be connected as well, and configured like if they are connected to shift registers.
With:
DIO port=J10A emu_din_sr=1 DIO port=J10B emu_dout_sr=1
it would be possible to use J10A for buttons (id=1..8), and J10B for LEDs (id=1..8)
Is this the right direction, or do you have something else in mind which conflicts with this approach?
Best Regards, Thorsten.
-
Yes, this works:
But as you can see in the schematic, the emulated soft1 button is at J10A:D3 = PE11 and not PE8
PE8 (=J10A:D0) is the first encoder pin.
Best Regards, Thorsten.
-
Fine! :)
Yes, 10k pull-ups are too weak for the LCD signals, therefore I recommend 1k
Best Regards, Thorsten.
-
Hi Julian,
button ids are normally mapped to digital inputs of MBHP_DIN modules connected to the SRIO chain via J8/9
If you want to trigger button events with J10A:D0..D7, you could use the button emulation function of the SCS (because the SCS is normally connected to J10A)
So, please try:
RESET_HW # the SCS should emulate button/enc functions in main page SCS soft1_button_emu_id=2000 \ soft2_button_emu_id=2001 \ soft3_button_emu_id=2002 \ soft4_button_emu_id=2003 \ shift_button_emu_id=2004 \ enc_emu_id=2000 EVENT_BUTTON id=2000 type=CC chn=1 cc=16 range=0:127 ports=1111000000000000 EVENT_BUTTON id=2001 type=CC chn=1 cc=17 range=0:127 ports=1111000000000000 EVENT_BUTTON id=2002 type=CC chn=1 cc=18 range=0:127 ports=1111000000000000 EVENT_BUTTON id=2003 type=CC chn=1 cc=19 range=0:127 ports=1111000000000000 EVENT_BUTTON id=2004 type=CC chn=1 cc=20 range=0:127 ports=1111000000000000
Best Regards, Thorsten.
-
Yes, now your MBSEQ V4L turned into a MIDI FX machine.
Cheers!
Best Regards, Thorsten. -
Alright.
Note that the new bootloader won't change the LCD behaviour at your side.
I'm sure that this is a HW issue, because I've checked the SW drivers with various CLCDs and GLCDs some time ago, and you are the first guy who reported such an effect.
Best Regards, Thorsten.
-
Ok, please try this version: http://www.ucapps.de/mios32/midibox_seq_v4l_085_pre1.zip
The clock divider should be taken over for all tracks now (not only the note tracks)
I wasn't able to reproduce the PitchBend issue, but this might be related to a handling error.
E.g. the CLEAR function will only clear the note tracks if you push GP button #1 resp. #9
In order to clear the PitchBend track, push CLEAR+GP button #4 resp. #12
The LED above these buttons should flicker if PitchBend events are sent
Does this help?
Best Regards, Thorsten.
-
Ok, understood.
I spend some time in order to make this possible - the configuration isn't straightforward, but I hope that this will meet your expectations:
- upload this firmware to the core: http://www.ucapps.de/mios32/midibox_seq_v4l_085_pre1.zip
- enter the "store" command after upload. This will ensure that the latest parameters are visible in the file (that's the reason why LiveForceToScale wasn't visible previously - last time you stored this file was with a version which didn't provide this parameter)
- edit the MBSEQ_C.V4 file:
Change MIDI_BUS_Channel 0 ... to MIDI_BUS_Channel 0 17
(bus will listen to all channels)
Change the MIDI channel of MIDI_BUS_Channel 1 ... and MIDI_BUS_Channel 2 and MIDI_BUS_Channel 3 ... to 0
(bus won't listen to channels)
Change LiveKeepChannel to 1
Parameters should be taken over automatically once you save the file
(terminal will show "AUTOLOAD 'MBSEQ_C.V4'")
Best Regards, Thorsten.
-
Yes, there is a hidden feature in MBSEQ V4L which allows you to enable force-to-scale for the In->Out option! :)
Connect to MIOS Studio, open the MIOS32 File browser, edit the SESSIONS/DEF_V4L/MBSEQ_C.V4 file.
Search for "LiveForceToScale" and set it to 1
Thereafter save the change, and then enter "reset" in MIOS Terminal in order to reboot the device.
Best Regards, Thorsten.
-
Hi Benoit,
First store command is rejected : bootloader says "Failed to store new settings"there is a workaround for this in following (unreleased) version:
http://www.ucapps.de/mios32/mios32_bootloader_v1_016.zip
(store command will be retried if flash operation failed - I guess that this is related to flash protection, but haven't debugged this further. With the retry the store command will work reliable)
LCD: it's very likely a hardware issue.
LCD isn't correctly initialized after power-on, and in your pictures it looks like the second line will never be written.
This indicates, that the D6 pin is always 0
Check it with the scope. If it doesn't toggle than my assumption is correct and you know where to continue with debugging.
Best Regards, Thorsten.
-
Hi,
you could switch between the modes with the Ctrlr based editor:
It makes sense to explore the capabilities of MBSID with this editor anyhow before you start editing with the CS :)
Best Regards, Thorsten.
-
Ok, you already found out the required calculation by yourself! :)
How can I monitor the 10 bits value data used, i can only monitor 14bits PB value to take and record the point I need for my table.For the case that it helps: in mf.inc you will find following lines
MF_Tick_TraceFader movff ADRESL, MF_TRACE_VALUE_L ; take original value from ADC so that AIN deadband doesn't matter! movff ADRESH, MF_TRACE_VALUE_H
You could replace them by:
MF_Tick_TraceFader movff MF_VALUE_L, MF_TRACE_VALUE_L ; take original value from ADC so that AIN deadband doesn't matter! movff MF_VALUE_H, MF_TRACE_VALUE_H
in order to display the translated response in MIOS Studio
There is no alternative way how I can help you to visualize the changes.
I know that the task to find a satisfying calibration table w/o further analysis is a challenge - but providing more sophisticated debugging helps would result into much more effort at my side.
Best Regards, Thorsten.
-
I don't manage to get the arpeggiator to work. I have tried with a midi keyboard. I set the appropriate midi channel and port in the midi->transposer and arp. menu. Have tried port: all too. And I have set the mode of the track to arpeggiator. T/A split is off (tried on too) and in midi->misc->midi monitor I see incoming midi on the right port. The keyboard works fine for transposing. I must have missed some setting.
Also, how can i control arpeggiator via loopback? making a loopback track with chords sends only chords with root note unless i transpose them with the keyboard, right?
Please follow this guide:
-> http://www.ucapps.de/midibox_seq_manual_tut5.html
It should answer both questions.
If not, please let me know what is unclear, I will improve the page! :smile:
Another one, there are several bus ports, what are they for.It's possible to route the transposers & arpeggiators to different busses in order to handle up to 4 independent note entries (regardless if from external keyboards or loopback tracks)
Best Regards, Thorsten.
-
Hi,
yes, you can use the same board, but since LPC17 Tx pins are working at 3.3V level (and not in push-pull mode), you've to change some resistor values:
R3, R5, R8 and R10 have to be 47 Ohm.
And J1:Vd has to be connected to 3.3V
Best Regards, Thorsten.
-
No spam, keep up the great work - I enjoy each new video! :smile:
Best Regards, Thorsten.
-
sometimes, especially when recording chords, I got pitch bend messages recorded but I did not touch the pitch wheel.
this happens with 2 different midi keyboards and I can't hear the pitch bend while I play the note, it only appears when the sequencer arrives at the recorded notes again. Just like the seq is adding them by itself :unsure:
This is strange indeed!
I will check this tomorrow - if I haven't success, I will add a debug mode which will give you some logs for further debugging.
then I got the feeling the clock divider (using the tempo button) does only affect the note track. pitch bend messages seem to be unaffected by it.yes, very likely.
This isn't intended, I will change this.
by the way. The BOM on the v4l site states you need 64 diodes, but I think 48 are enough ;)You can never have enough diodes for the next projects!
However, fixed ;)
Best Regards, Thorsten.
-
Yes, I second Pete's hint: the cursor addresses are different compared to "common" LCD sizes.
But the cursor mapping has to be done at the application side, e.g. via MIOS32_LCD_CursorMapSet
So: if your application doesn't use $MIOS32_PATH/modules/scs, the proposed define won't help.
In your application you can either do this statically by calling MIOS32_LCD_CursorMapSet w/o conditions, or you could request the configured LCD dimensions from the bootloader section.
Use this MIOS32_LCD_ParametersGet function for this purpose:
This will return following parameters:
http://www.midibox.org/mios32/manual/structmios32__lcd__parameters__t.html
Best Regards, Thorsten.
-
Ok, please try this firmware:
http://www.ucapps.de/mbhp/mbhp_mf_ng_v1_005.zip
Once installed, follow the instructions of this README.txt:
I will officially release this version if you can confirm that it's working at your side.
Best Regards, Thorsten.
-
Of course, my mistake sorry, I mean MIOS_SRIO_UpdateFrqSet !!!
Ok, this obsoletes all other questions and now I understand what you did.
This of course reduces the scan frequency by x * 1 mS, results into 32 mS (as you've mentioned) and if you are saying that there is a HUGE improvement then let it like it is, everything else will overcomplicate the project.
I've to add that this was a clever idea! I haven't expected that the pulse is weak enough so that it will be filtered out on lower frequencies! :)
Now it's time for next stepcan you help me with this ?
This hasn't been forgotten... but please be a little bit more patient.
Before giving you any code I've to test it, because everything which hasn't been tested typically doesn't work due to unexpected reasons, especially when I'm doing changes in code that I wrote many years ago!
I think perl is already installed with devtools on my computer?You can try this in the terminal:
perl -version
perl isn't installed if this command won't be found.
How many "given point" can we use? if possible 14 should be good.lets say 0-5-10-15-20-25-30-35-40-45-50-60-70-cut
I will made new measurement for respective PB value at both side, fader DAW and analog fader
There is no limitation, because the perl script will do the calculation work, the PIC will only process pre-made tables.
Best Regards, Thorsten.
-
Now some question to be sure I understand correctly.
MIOS_SRIO_NumberSet is the trig clock from PIC RD4 right? so if I increase to let say 0x05, my noise frequency should go down to 200hz (5/1000sec) ?
MIOS_SRIO_UpdateFrqSet is the time the shift register take info ? it determine the touch response time to standby the motor right? here we have 10ms
Now, were is the parameter (if one) who set the master clock used by MIOS_SRIO_NumberSet?
What can I do if I want MIOS_SRIO_NumberSet to be 0.05 ms (20kHz) or better 50kHz/0.02ms
No, totally wrong...
Without going into too much detail: this would work in MIOS32 projects where the SRIO is scanned via SPI, but it doesn't work on a PIC where the SRIO is scanned directly from the PIC via bit-bangning.
This is done each mS, the number of SRIOs doesn't change this.
And if somebody would try to reduce the timer period for the bit-banging routine, the PIC would be busy with scanning the SRIO, but wouldn't be able to do anything else (-> no motor control).
So, forget this change please, embedded programming is sometimes not straightforward, you've to consider many limitations to come to a compromise which works in reality.
I think that on a PIC the touch sensor handling can't be optimized anymore.
HUGE improvement in audio noise, this f... 1Khz noise go awayI still have the shift register 10us pulse clicking in audio (my PSI monitor are so efficient revealing fast transient), but as I lower MIOS_SRIO_NumberSet to 32ms (0x20) the intermodulation go down to 31.25hz in place of 1K, so just become inaudible
MIOS_SRIO_NumberSet doesn't set the scan frequency, it sets the number of SRIO components modulo 16
Which means: 32 % 16 = 0 -> no SRIO is scanned anymore, no noise... but also no touchsensor scans, right?
I try again to compile trough xcode without succes :(but you can compile in the terminal, right?
(I don't use Xcode by myself, too complicated ;-))
Best Regards, Thorsten.
din_key_offset not working on NG/KB?
in MIDIfication
Posted
Maybe the number is too high so that an overrun happens?
Which note is played when you are using din_key_offset=1
which note when you are using din_key_offset=2
and 3... and 4... are you able to increase it until the expected note will be played?
At which value an unexpected note will be played?
Best Regards, Thorsten.