Jump to content

Phatline

Members
  • Posts

    1,282
  • Joined

  • Last visited

  • Days Won

    71

Everything posted by Phatline

  1. to add an DINx4 module in front of the BLM16x16+x-Module, do following... blm_scalar.c add the SR_off Part.... ///////////////////////////////////////////////////////////////////////////// //! This function gets the DIN values of the selected row. //! call it from APP_SRIO_ServiceFinish() hook! ///////////////////////////////////////////////////////////////////////////// s32 BLM_SCALAR_GetRow(void) { // decrememt debounce counter if > 0 if( blm_scalar_button_debounce_ctr ) { --blm_scalar_button_debounce_ctr; } // since the row line of the buttons is identical to the row line of the LEDs, // we can derive the button row offset from blm_scalar_selected_row 909 >>>>>>>>>>>>>>>> here is the offset? int selected_row = (blm_scalar_selected_row-1) & 0x7; // &: bitwise AND 0x7: 7 // check DINs int mod; for(mod=0; mod<5; ++mod) { // 5: Module-Nr int sr = blm_scalar_config.din[mod]; static u8 SR_off = 4; // Shiftregistor Offset -- if you have a DINx4 Module before the BLM-Module if( sr ) { MIOS32_DIN_SRChangedGetAndClear(sr-1 + SR_off, 0xff); // ensure that change won't be propagated to normal DIN handler u8 sr_value = MIOS32_DIN_SRGet(sr-1 + SR_off); // ignore as long as debounce counter != 0 if( !blm_scalar_button_debounce_ctr ) { // determine pin changes u8 changed = sr_value ^ blm_scalar_button_row_values[mod][selected_row]; if( changed ) { // add them to existing notifications blm_scalar_button_row_changed[mod][selected_row] |= changed; // store new value blm_scalar_button_row_values[mod][selected_row] = sr_value; // reload debounce counter if any pin has changed blm_scalar_button_debounce_ctr = blm_scalar_config.debounce_delay; } } } } return 0; }
  2. hey @latigid on ... do you know how to: offset the DIN-SR-NR (Code > 32bit) ? > i need a DINx4, in the start of the SR-Chain > then after this the BLM... i ask because the BLM has no "Thru" Port... i already put the blm_scalar.c and blm_scalar.h into my project (so i can change it - if necessery) ( i dont need any info about the LED-Part --- there i dont need a offset)
  3. i am far away from modulitis ;) --- almost no money, no modules except the one i create on my own... or the use of seppomans midibox ssm modules. CV1 for me is a "memory-modular", where not the the cables are memorized - but the Values of the VCAs/potentiometers, I play mostley with other Musicans (guitarists, bassists, conga-player....) and they play songs - short songs... the 3 minutes the songs takes - takes me to set all potentiometers to the right position... and so on. in order for that i want to create modules which paremeters, are all cv, controllable, and, which i can interrconnect with a CV-Module with a ribbon cable on the back..... (a analog cymbal, has several mixers, bpf, and vca stages, and a tunable osc for example, for me this is a unit which i want to control with the CV1.) so the cable salat is reduced. a 2xAIN is providet by CV1 which i can route internal to the DACs. (which makes it a "bit" less analog...). i also thought about use a master CV1 Remote which controll UI-Less receivers (except of a focus button...) - which itself get a color when the get remoted (a rgb led on the receiver and sender) - for example haveing only one Joystick but 10x CV1s... or only one Envelope follower but 10 CV1s... (transfair via Pitchbend or sysex...) how ever for me the main point is to create save and recall songs and sounds... --- and not to have built a case for each device - a frontpanel is enough - and that is the biggest Plus. for me building a complete case was always a time consuming or never started project. example:
  4. for me mios is a good starting point to get your vision going... since most of hardware near things are hidden in functions. i grow slowly into it - without any knowledge off uC, may the C guuro handle it faster - i needet a decade ( between work and free time)! however - good that midibox exist - thx.
  5. yes i too like the look... bright 7layer Multiplex "Birke" - Adam hall Rack parts... the 2x 4A/15V Trafo is enough - there will be a second Rectifyer/Voltage-Reg for the the Top-Part of the bag. this is the Desktop part of the "Box/Bag..." which handles all performance Tasks (BLM, Loopa, Faders - all the control-Midibox things) --- so the 5V draw is heavy... and +-12V is almost not existent... the Standing/behind part of the Box, will be the analog-wire-intensiv part > signal... which will draw almost nothing of the 5V, but +-12 heavy...
  6. the first time i planed and built a Eurorack Case on my own... autocad was my friend... now that i have the power, and the mounting-space - i can build a test environment for my CV1.... so hopefully next time some sound-demos...
  7. yes but you need some encoder... thats why i thougt of the DIO-Matrix (it has DIN+Resistors, + DOUT without resistors>which makes it smaller...) .... so yes 2xDOUTx4 is ok... + a DIN X1 (the one missing extra button can be taken directly from the core... 3 Pushencoder - makes 9 DIN Pins... 8 taken from the DIN register, one diretly from the core)
  8. about RGB-Leds... midibox could do that too... http://www.midibox.org/mios32/manual/group___w_s2812.html , but i dont have much expierence whith them (in sense of codeing...but i have project here were i have to find about them anyway) you change the Faders to motorfaders? (or are they motorfaders anyway?) there are 32Bit Functions for Motorfaders here... but in the past they used 8bit cores: http://ucapps.de/mbhp_mf_ng.html cant help here, havent done that before. about space: the dinx4 modules doutx4 modules and CoreSTM take a lot of space... when you for example integrate the 595ers on your Display-motherboard you could save some space... still there is the big core... you could overcome that with dipcore + Dipboard (http://wiki.midibox.org/doku.php?id=dipboardf4) dipcore has only 2 LCD CS-Lines onboard... so you would a second DIO-Module anyway. ... but if space is no problem... but the overall height wouldnt change on booth variants... so Z=equal, but xy would differ
  9. i made a list for needet hardware: 1x this can handle the Encoders and Buttons + 16 Displays : http://ucapps.de/mbhp_dio_matrix.html 1x this can handle 32 Displays: http://ucapps.de/mbhp_dout.html 1x this should handle 8 Displays(+the Discovery board and all the parts of course...) http://ucapps.de/mbhp_core_stm32f4.html hmm makes 56 Displays. so if you want 64 you add a 595 by yourself with protoboard, or take a nother DIO-Matrix... 1x SD-Card (+Fullsize adapter) of different Fabricates --- very often that one is not working i have 2 of this -and booth are working: https://www.mouser.at/ProductDetail/SparkFun/COM-15107?qs=0lSvoLzn4L%2B%2BrzcqjOiTEA%3D%3D 64x Pinheaders that are sitting strong (or take hotglue) in order to better repear or swap or debug the LCD from your cables A lot of cables... i dont know how big the desk is, and whats about the cable length is (really dont know where the limit is?!) And very hard to find - this tiny Screws and Nuts for the LCDs to mount(they are not M3!), if you go ali express then you wait a month or 3... and like you said a 3.3V Voltageregulator that supply with ease 1.5 to 2A, and psu that deliever that too...
  10. Phatline

    8xOLED PCB

    if height is a problem this could spare 2mm: https://www.mouser.at/ProductDetail/Hirose-Connector/MDF7-7S-254DSA55?qs=%2Fha2pyFaduiZ71eBiARkwzzUReMZP2WhzZTuqPhRayn1qNB0%2FX2TxKoytKf%2BS9gq (not realy needett when shorten the pinheaders of the displays by hand, and removing the header-plastic) but maybe its whise to use standart pinheader - because of price and aviable... ..just a thought.
  11. a dinx4 would also help (for the encoder) - could be solved with the pins onboard too but easer to implementate with a Digital-In-Shiftregister & if you decide to make that project then you could start a "name"list...Labels.ods i can later copy paste this into the code... (my labels in there are not really usefull for you project, but the structure is already for copy paste...) i hide some tabs in there: { ' 3 ' , ' 0 ' , ' 3 ' , ' ' , ' ' , ' ' , ' ' , ' ' }, so dont overwrite this ’, and }{
  12. Phatline

    8xOLED PCB

    i think you will need a the cap and resistor on reset for every display (they told me...dont know if necessery)
  13. ya i made a custom ui where the microntrollerboard is plugged into... but for your job, you only need a core32stmF4, 2x doutx4, and 1x midio IO...and a relative simple app (where i can help...)
  14. i now implemented this custom-Label change... see the first view minutes of this video:
  15. the UI is almost finished. next is to modulate some noise... (but for this on a other video):
  16. @6 Pins: i also have 8 of them sadly... and i would love to see them working ---maybe someone have expirience with that (change the driver? or pinout? i dont know - maybe someone other can help?) @ picturen, i made a short video for you... its uploading right now... will be aviable here in 45 minutes: its not really a Typing -its "set cursor" "change Letter" "press save", as far as i know you cant connect a normal Keyboard to the Midibox - and i didnt see a driver (usb-host is possible on midibox.... but i dont think there is a driver?)
  17. "normally" we use here 7 Pin SPI SSD1306 (GND,VCC,D0,D1,RES,DC,CS) connected like this: purple Lines = CS-Lines: the first (8or?) 16 CS/purple lines you get direct from the Core STM32F4, > http://www.ucapps.de/mbhp_core_stm32f4.html the 48 Rest CS-Lines from 595-Dout-Shiftregistors-Pins (6xICs with each 8 Pins) > we call that http://www.ucapps.de/mbhp_dout.html The Update Rate will be a bit slow - but for Label a static Mixer Desk, it will be ok? custom Bitmaps: http://wiki.midibox.org/doku.php?id=how_to_create_custom_glcd_fonts_icons_bars_for_midibox_ng @ Labelitself, I myself have a simular thing, but for a Midi>CV Device, i have to label Encoders... i managed it to save a huge array of "chars" - like this...: char Label[512][8] = { {'3','0','3',' ',' ',' ',' ',' '}, {'6','0','6',' ',' ',' ',' ',' '}, {'7','0','7',' ',' ',' ',' ',' '}, {'8','0','8',' ',' ',' ',' ',' '}, {'9','0','9',' ',' ',' ',' ',' '}, {'-',' ',' ',' ',' ',' ',' ',' '}, {'*',' ',' ',' ',' ',' ',' ',' '}, {'/',' ',' ',' ',' ',' ',' ',' '}, {'+',' ',' ',' ',' ',' ',' ',' '}, {'A','M','P',' ',' ',' ',' ',' '}, {'A','M','P',' ','E','N','V',' '}, {'A','M','P',' ','L','F','O',' '}, {'A','M','P',' ','M','S','Q',' '}, {'A','D','S','R',' ',' ',' ',' '}, ... with all possible Names - that i could use for Control-Voltage Projects.... i save this on SD-Card, on a .sys file (no PC involved the microcontroller do that) - in a Patch aka Song i then Recall it like this: MIOS32_LCD_DeviceSet( 3 ); // select Display 3 MIOS32_LCD_CursorSet(0, 1); // Select Vertical the second Line, Leftmost Horizontal MIOS32_LCD_PrintFormattedString("%c%c%c%c%c%c%c%c", // 8 Chars is max if you use BIG-FONTS Label[ aout[ENC].sel_label] [0], Label[ aout[ENC].sel_label] [1], Label[ aout[ENC].sel_label] [2], Label[ aout[ENC].sel_label] [3], Label[ aout[ENC].sel_label] [4], Label[ aout[ENC].sel_label] [5], Label[ aout[ENC].sel_label] [6], Label[ aout[ENC].sel_label] [7]); where ENC is the Encoder Number where the LCD is situated. aout[].sel_label: i save that Var on SD-Card-with the Patch / and load the Patch via Midiprogramchange. // with a given Number you adress a Name... you can also custom Labels, with ease with 2 additonal Rotary Encoders (while one is the cursor) (and the other one change the Letter), you might need for a UI-for Midibox at least 3 Encoders(with inbuilt pushbuttons) and 1 SSD1306 in order to SAVE and LOAD or ADD Custom Names...
  18. thx realized that i can print LCD-Messages in the APP_init itself... -- now i entertain the user a bit with some progress. i have put the heavy copy file thing into the App_init itself (512x84Kb files), this is working now, since i realized that i has only 2,2V on the SD-Card... which was a faulty core PSU.... now its working like a glance. while a SSD1306 is working with no probs on 2,2V a SD-Card is not - good now i know that.
  19. i have trouble by initize my SD, Card, in sense of i copy big Files multiple times... and that fails when making a freertos Function for it.... or by adding it into one of the standart Functions like "Background" or by making a new Function in the Program loop... Because of the SD-Card reacts to slow, the files to big, to much of the files.... i already avoidet all "for loops", and copy one file after a nother once a Program-loop-cycle.... when i put the copy function into the "app_init" it is functional, but of course the display is Black -feeled forever- until the program starts the first time... so the user may think the device has failed... what makes me think, of an second App_init Like Function, which is only performed once, and which attribut is: it can run forever, and when its done, MIOS runs without it. but maybe i have not understand some basics again...
  20. on my Midibox CV Project, i make char-arry with alpabetical sorted Words --- which are Labels under Encoders to show you the Parameter names because its a modular project, i will make it easy via Drop-Down-menue to change the Labels on the fly for this i started a Excel (in order to sort alphabetical) looking like this: later i copy this block, into a text editor, replace automaticly the spaces, and copy paste it into the c program. may char array in C-Code will end up like this: char Label[512][8] = { {'a','b','c','d','e','f','g','h'}, {'i','j','k','l','m','n','o','p'}, {'q','r','e','s','t','u','v','w'}, {'1','2','3','4','5','6','7','8'}, .... }; my Font-Size only allow 8 Chars on a SSD1306 (128x64pix) i will report my list here, and if anyone has some idea which should be add (because its missing), then write it here. thx.
  21. bright enough! I made a mistake by creating the Transistor-Array-Footprint, so i bridged it out for the Protoboard, but for me its bright enough anyway.
×
×
  • Create New...