Jump to content

Antichambre

Programmer
  • Posts

    1,291
  • Joined

  • Last visited

  • Days Won

    101

Posts posted by Antichambre

  1. 13 hours ago, dan2804 said:

    he RTPMidi board supports 16 virtual cables which I'm guessing equates to 8 in and 8 out or does it mean 16 in and 16 out? 

    I don't know about the RTPMidi itself, but connected to a MIDIbox Core in SPI MIDI only 8 ports(cables) are supported, means 8 In/ 8 Out.

    Just by curiosity, how many MIDI gears you have in your setup?

    Best
    Bruno

  2. 1 hour ago, latigid on said:

    Plugging something into the jack might create a voltage divider?

    Yep, here the voltage depends on the Impedance connected to the GATE OUT for sure! The Voltage applied to the 547 base is between something like 3,6V with Z=0 and approximatively 11V with Hi-Z, strange.
    Led current depends on it too, between 1,5mA and 9mA.

    This will work better:
    Fichier%2020-02-2019%2012%2034%2041.jpeg

    But it's 15V gate. A bit less because of the diode.

     

  3. 53 minutes ago, goyousalukis said:

    I was using the top right corner of this schematic from the YuSynth gate delay, except connecting the base of the transistor to the DOUT module.

    Interesting, based on this diagram the LED should work without something connected,  except if the load is a lot less than 10K, is your jack has a kind of bypass inside? Maybe the jack put the output to the ground internally when there's nothing plugged?

  4. Hi Chris,
    It's maybe not exactly what you want, but you can try to rearrange the OLED in Column instead of Row, and work with the lines.
    By using the help menu in the bootloader.

    set lcd_num_x (number of LCDs in X direction)

    and

    set lcd_num_y (number of LCDs in Y direction)

    Not sure this will help you, but it can already force a line return after 128 pixels if you set lcd_num_x to 1.

    Best
    Bruno

     

     

  5. 55 minutes ago, synaptech said:

    Number 8 perhaps? :D

    Though I think I have to get the beat LED installed to get the official stamp! How much clearance should I leave to fit your LED diffuser? 

    Thanks again everyone! If anyone has similar problems to the ones I faced I'll be happy to share my experience. :D

    Let 3 mm, it will be fine! :)

  6. try this hex:
    https://www.dropbox.com/s/ma98bbopt8s1tzb/setup_pic18f4685_sammich_fm.hex?dl=1

    It's a 8bit version then extra connection are necessary.

        ;; set this flag to 1 in order to enable 8bit LCD access mode for PIC18F4685 derivatives.
        ;; IMPORTANT: this option requires a modification on the sammichFM hardware:
        ;; Connect:
        ;; - PIC Pin RE1 to J16:D3
        ;; - PIC Pin RE2 to J16:D2
        ;; - PIC Pin RB1 to J16:D1
        ;; - PIC Pin RB0 to J16:D0
        ;; Compare following schematic for sammichFM J16 pinning: http://www.midibox.org/dokuwiki/lib/exe/fetch.php?media=sammichfm:sammichfm_base_pcb_rev_1.pdf
        ;; And following schematic for PIC pinning: http://www.ucapps.de/mbhp/mbhp_core_v3.pdf
    #define USE_8BIT_LCD_DRIVER 0

    ;)

  7. 7 hours ago, Academic Planner said:

    Makefile:29: /include/makefile/asm_only.mk: No such file or directory
    Makefile:32: /modules/app_lcd/dummy/app_lcd.mk: No such file or directory
    Makefile:35: /modules/aout/aout.mk: No such file or directory
    make: *** No rule to make target `/modules/aout/aout.mk'.  Stop.

    This indicates that your 'make' compiler doesn't find your new and fresh MIOS directory.
    This is a path issue. Did you follow this ? -> http://www.midibox.org/dokuwiki/windows_toolchain_svn#path_environment_variables

    MIOS_PATH and MIOS_BIN_PATH need to be set ;)
    Always restart you computer after this operation, for changes to become effective.
     

  8. Ok understood you never use MIOS trunk.
    You have to checkout the MIOS, using tortoise svn is very easy.
    just follow this howto http://www.midibox.org/dokuwiki/doku.php?id=windows_toolchain_svn#tortoisesvn
    this page is useful too: http://www.midibox.org/dokuwiki/doku.php?id=windows_toolchain_core#path_environment_variables

    First try by yourself but If you're really stucked I can take the hand on your computer like we already did ;)
     

  9. I think you didn't refesh your MIOS folder since a long time ;)
    http://svnmios.midibox.org/listing.php?repname=svn.mios&path=%2Ftrunk%2Fapps%2Fsynthesizers%2Fmidibox_fm_v1%2Fsrc%2F&rev=1168&peg=1161#

    Then refresh it...

    Set the USE_8BIT_LCD_DRIVER flag in "setup_pic18f4685_sammich_fm.asm" file

        ;; set this flag to 1 in order to enable 8bit LCD access mode for PIC18F4685 derivatives.
        ;; IMPORTANT: this option requires a modification on the sammichFM hardware:
        ;; Connect:
        ;; - PIC Pin RE1 to J16:D3
        ;; - PIC Pin RE2 to J16:D2
        ;; - PIC Pin RB1 to J16:D1
        ;; - PIC Pin RB0 to J16:D0
        ;; Compare following schematic for sammichFM J16 pinning: http://www.midibox.org/dokuwiki/lib/exe/fetch.php?media=sammichfm:sammichfm_base_pcb_rev_1.pdf
        ;; And following schematic for PIC pinning: http://www.ucapps.de/mbhp/mbhp_core_v3.pdf
    #define USE_8BIT_LCD_DRIVER 0

    replace the "src/app_lcd_8bitdriver.inc" by mine
    compile and upload "setup_pic18f4685_sammich_fm.hex" in MIOS Studio"

    Best
    Bruno

    .

  10. 3 hours ago, latigid on said:

    You can also measure resistance between the USB B port (with power off) and PA11/PA12 on the socketed Waveshare MCU breakout, should be 22R. 

    This is not a Physical USB issue cause the bootloader seems to work otherwise the In/Out "MIDIbox SEQ V4+" port should not appear.

    @synaptech
    Disconnect all others USB, restart your  PC.
    Put a jumper on JPA0,
    Connect your Core and launch MIOS Studio,
    and tell us what happens, please...

    Best
    Bruno

  11. I think I understood what TK did in the FM firmware.
    You have to let the 8 bit connections and the USE_8BIT_LCD_DRIVER flag to, this will force the use of the custom driver "app_lcd_8bitdriver.inc" which is in /src/ folder, It's an 8 bit one but it doesn't matter your controller supports it.
    Replace that file by the one from my dropbox
    https://www.dropbox.com/s/zpdxe6cfrxtmv04/app_lcd_8bitdriver.inc?dl=1  (I added the command in this file.)
     

        movlw   0x08            ; Display Off
        rcall   USER_LCD_Cmd
        movlw   0x0c            ; Display On
        rcall   USER_LCD_Cmd
        movlw   0x06            ; Entry Mode
        rcall   USER_LCD_Cmd
        movlw   0x17	    ; DCDC Power On (OLED-0010 controller only)
        rcall   USER_LCD_Cmd
        movlw   0x01            ; Clear Display
        call    USER_LCD_Cmd
        bcf MIOS_LCD_TIMEOUT1, 7, BANKED    ; everything ok, make sure that LCD_TIMEOUT, bit 7 is cleared
        
        movlw   0x38            ; without these lines the LCD will not work
        rcall   USER_LCD_Cmd        ; correctly after a second USER_LCD_Init
        movlw   0x0c
        rcall   USER_LCD_Cmd
        movlw   0x17	    ;
        rcall   USER_LCD_Cmd
        movlw   0x00            ; set cursor to zero pos
        rgoto   USER_LCD_CursorSet

    Compil it, upload and tell me...
     

  12. The pinout is good.
    First did you check with standard 4 bit, without USE_8BIT_LCD_DRIVER option?

    The controller is OLED-0010(WS0010) and seems to match HD44780 industrial standard BUT in the command table there's something which differs:

    commands.gif?raw=1Capture%20d%E2%80%99%C3%A9cran%202019-01
     

    Page 22 of the controller datasheet

    Maybe I'm wrong but this specific command is nowhere in the LCD initialisation:
     

    USER_LCD_Init
        ;; notify that no graphical LCD is connected
        bcf MIOS_BOX_CFG0, MIOS_BOX_CFG0_USE_GLCD
    
        ; (Initialization of Ports: done in Init_Ports)
        SET_BSR USER_LCD_STATUS
        clrf    USER_LCD_STATUS, BANKED
    
        movlw   100         ; 100 ms delay
        call    MIOS_Delay
    
            bcf     USER_LCD_LAT_RW, USER_LCD_PIN_RW    ; LCD_WRITE
            bcf     USER_LCD_LAT_RS, USER_LCD_PIN_RS    ; USER_LCD_PIN_RS_0
    
        ;; initialize LCD
        movlw   0x38
        movwf   USER_LCD_LAT_D
        rcall   USER_LCD_Strobe_Set
        rcall   USER_LCD_Strobe_Clr
        movlw   50          ; 50 ms delay
        call    MIOS_Delay
        rcall   USER_LCD_Strobe_Set
        rcall   USER_LCD_Strobe_Clr
        movlw   50          ; 50 ms delay
        call    MIOS_Delay
        rcall   USER_LCD_Strobe_Set
        rcall   USER_LCD_Strobe_Clr
    
        movlw   0x08            ; Display Off
        rcall   USER_LCD_Cmd
        movlw   0x0c            ; Display On
        rcall   USER_LCD_Cmd
        movlw   0x06            ; Entry Mode
        rcall   USER_LCD_Cmd
        movlw   0x01            ; Clear Display
        call    USER_LCD_Cmd
        bcf MIOS_LCD_TIMEOUT1, 7, BANKED    ; everything ok, make sure that LCD_TIMEOUT, bit 7 is cleared
        
        movlw   0x38            ; without these lines the LCD will not work
        rcall   USER_LCD_Cmd        ; correctly after a second USER_LCD_Init
        movlw   0x0c
        rcall   USER_LCD_Cmd
        movlw   0x00            ; set cursor to zero pos
        rgoto   USER_LCD_CursorSet

    I think you have to add this command somewhere for "internal DCDC power On"

        movlw   0x17
        rcall   USER_LCD_Cmd

    But I don't remember where, in the app_lcd.inc maybe??? Someone knows???
    Edit: I don't remember which lcd_init is active,

    • /src/app_lcd.inc
    • /module/app_lcd/clcd/app_lcd.inc
    • /mios/mios_lcd.inc
       

    Best
    Bruno

     

  13. In that case I've got a solution for you but it's not ready for the moment.

    In regular MIDI(UART) if the byte is >127 it is always recognised as a status byte, less it's always data. But the MCAN is not an asynchronous link, and each packet has is own header, like in an ethernet frame, then it's possible to transmit a status followed by some 8bit data, it's the position of the byte in the frame which determines what it is.
    I will try to find some time to finish it, @Zam needs it for his project. @monokinetic also has a secret project around it.

    Best

  14. 12 hours ago, macsaif said:

    Is it possible to send MIDI CC parameters where 2 CC channels are merged and allowing of sending 8bit values? 

    When you say "2 CC channels" you want to say 2 CC numbers?
    MIDI can't transmit 8 bit value, max is 7bit except if you use two CC, one for MSB(Most significant bits) and another for the LSB(Less significant bits), which will give you 14bit resolution max.The Pitch Bend is already a 14bit parameter, but it's not CC it's PB MIDI status.
    Best is to keep the resolution from your Pots(assuming they are 12bits ADC) to your DAC internally, and get less resolution(7bits) from external MIDI control.

    Best

  15. 1 hour ago, latigid on said:

    Thanks for sharing! Has a bit of "Saturate" vibe going on

    Yes did not check the levels and render on the NS10. This is just a quick jam... I've got a lot of work currently and just needed to empty my mind today.
     

    1 hour ago, latigid on said:

    Did you slave the 909 or sequence from the v4+?

    The 909 is in Sync, it's a 2 measures 909 sequence, I know it by heart, easier for me for the moment and it has its specific groove. But I learn slowly the V4, I will try with it next time, I promise ;)
    The midi clock is coming from the Seq and is routed to the 909. There's 3 separated event layers on the Bandmaster, VOICE, REALTIME and SYSTEM Messages. Then the 909 just receives realtime.
     

    10 minutes ago, Hawkeye said:

    C'est bon! Very well done!

    Thank you!
     

  16. 20 minutes ago, FantomXR said:

    BTW: Do you watch this forum all day? ;-) 

    lol
    Yeah I've got some default pages opened when my computer is switched on, all my email boxes, messenger and midibox forum!
    My computer is always switched on when I'm home. And I work 80% of the time at home so. ;)

×
×
  • Create New...