Jump to content

protofuse

Programmer
  • Posts

    288
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by protofuse

  1. First of all I strongly recommend you to work through the tutorial lessons under http://www.ucapps.de/mios32_c.html

    Step by step you will get some very useful hints about the mechanisms provided by MIOS32 and FreeRTOS

    Once you reached tutorial #12 you should get a clear explanation how to scan multiplexed pots. Yes, you could use this code as a template.

    But you shouldn't start reading there - just start at #01 to understand the basics.

    Best Regards, Thorsten.

    sorry Thorsten... I have to RTFM.

    I'll do right now, I repost after if problem remains.

    thanks for your time and support and all :)

  2. Hi.

    It looks to use a standard HD44780 or equivalent controller so should definately be supported by MIOS8.

    What app did you have loaded on the core? Is it definately compiled defaulting to the clcd driver???

    Most LCD problems are related to wiring, so I would double and triple check it, also what PIC are you using? The PIC18F4685 for example only supports 4-bit LCD connections.

    What mistake did you make when you connected it? Was there smoke ? smile.gif

    Cheers

    Phil

    hello phil!

    the app is a basic one and based on MB64: http://svnmios.midibox.org/filedetails.php?repname=svn.mios&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fprotodeck_v1%2Fprotodeck_CORE_2%2Fmain.c

    I'm using a PIC18F4620.

    the LCD was VERY hot (the chip inside the black plastic under the lcd especially) when I plugged it bad!

    no smoke (!)

  3. hello,

    I'd like to know your opinion about the compatibility of this LCD with the midibox CORE8

    http://www.crystalfontz.com/product/CFAH2002ATMIJT.html

    I have one.

    I made a mistake when I first connected it... I probably killed it :-(

    but not sure

    backlight is ok (but I guess it is a basic led)

    even the MIOS version message doesn't appear

    sometime, I have characters filled a bit

    it isn't stable etc.

    so I'd like to know if the compatibility (protocol & power supply) was ok & if there was some tests to do before drop it

    all the best!

    CFAH2002ATMIJP-3.pdf

  4. Sure.

    const unsigned char custom_chars_logo[8*8] = {
    
    	0x10, 0x10, 0x10, 0x1F, 0x1F, 0x1F, 0x1F, 0x0F, 	// bottom left
    
    	0x0B, 0x0B, 0x0B, 0x1B, 0x1E, 0x18, 0x18, 0x10, 	// bottom right
    
    	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x0E, 	// top right
    
    	0x01, 0x02, 0x08, 0x04, 0x08, 0x00, 0x1F, 0x10, 	// top left 1/3
    
    	0x08, 0x10, 0x08, 0x02, 0x04, 0x02, 0x1F, 0x10, 	// top left 2/3
    
    	0x08, 0x02, 0x01, 0x02, 0x08, 0x10, 0x1F, 0x10, 	// top left 3/3
    
    	0x08, 0x02, 0x01, 0x02, 0x08, 0x10, 0x1F, 0x10, 
    
    	0x08, 0x02, 0x01, 0x02, 0x08, 0x10, 0x1F, 0x10	
    
    };
    
    
    #define bl 0
    
    #define br 1
    
    #define tr 2
    
    #define tl1 3
    
    #define tl2 4
    
    #define tl3 5
    
    
    // define the LCD cursor positions (important if you use displays other than
    
    // 2x8)
    
    #define LCD_LINE1_ADDR 0
    
    #define LCD_LINE2_ADDR 40
    
    
    #define LCD_Line1	MIOS_LCD_CursorSet(LCD_LINE1_ADDR);
    
    #define LCD_Line2	MIOS_LCD_CursorSet(LCD_LINE2_ADDR);
    
    
    // pointless but oh well :-)
    
    void UI_animatedLogo() {
    
    	char* line1 = APP_NAME;
    
    	char* line2 = APP_VERSION;
    
    
    	s8 n;
    
    	s8 m;
    
    
    	#ifdef QUICK_BOOT
    
    		#define DELAY1 0
    
    		#define DELAY2 0
    
    	#else
    
    		#define DELAY1 64
    
    		#define DELAY2 255
    
    	#endif
    
    
    	MIOS_LCD_Clear();
    
    
    	LCD_Line1;
    
    	MIOS_LCD_PrintChar(tl1);
    
    	MIOS_LCD_PrintChar(tr);
    
    	MIOS_LCD_PrintCString(" kaffe");
    
    	LCD_Line2;
    
    	MIOS_LCD_PrintChar(bl);
    
    	MIOS_LCD_PrintChar(br);
    
    	MIOS_LCD_PrintCString(" SEQ");
    
    
    	for (n=0; n<8; n++) {
    
    		for (m=0; m<3; m++) {
    
    			LCD_Line1;
    
    			MIOS_Delay(DELAY2);
    
    			MIOS_LCD_PrintChar(tl1+m);
    
    		}
    
    	}	
    
    }
    
    

    is it for core32?

  5. Hi Shum,

    in main.asm, set:

    #define DEFAULT_LCD_SIZE 1
    for 2x20 display mode, and replace
    #if DEFAULT_LCD_SIZE == 1 ; 2x20
    
     #define DEFAULT_YOFFSET_LINE0 0x02
    
     #define DEFAULT_YOFFSET_LINE1 0x42
    
     #define DEFAULT_YOFFSET_LINE2 0x16
    
     #define DEFAULT_YOFFSET_LINE3 0x56
    
     #define CSMD_YOFFSET_LINE0 0x00
    
     #define CSMD_YOFFSET_LINE1 0x40
    
     #define CSMD_YOFFSET_LINE2 0x14
    
     #define CSMD_YOFFSET_LINE3 0x54
    
    #endif
    
    
    by:
    #if DEFAULT_LCD_SIZE == 1 ; 2x24
    
     #define DEFAULT_YOFFSET_LINE0 0x04
    
     #define DEFAULT_YOFFSET_LINE1 0x44
    
     #define DEFAULT_YOFFSET_LINE2 0x18
    
     #define DEFAULT_YOFFSET_LINE3 0x58
    
     #define CSMD_YOFFSET_LINE0 0x02
    
     #define CSMD_YOFFSET_LINE1 0x42
    
     #define CSMD_YOFFSET_LINE2 0x16
    
     #define CSMD_YOFFSET_LINE3 0x56
    
    #endif
    
    
    Best Regards, Thorsten.
    a very old post... but a new question. my protodeck is based on 2 MB64 and I'm using a 2x20 too. so, where must I put this
    #define DEFAULT_LCD_SIZE 1

    I guess the 2nd part of the constant definition should be done in my main.h ...?!

  6. I'm adding the final part on my protodeck controller: a nice white over blue LCD.

    it is a 2x20.

    where should I declare the type of LCD? its size etc ?

    MIOS_LCD_TypeSet and other C functions are ok for me to use, but where?

    I didn't figure out that.

    I'm sorry for this n00b question (I guess)

    all the best,

  7. There are no conflicts at the hardware side, and not that many adaptions have to be done at the software side.

    The code will look better after the migration, e.g. instead of

    
    	// send mapped midi-note with 127 or 0 velocity
    
    	MIOS_MIDI_BeginStream(); // midilink encapsulation header
    
    	MIOS_MIDI_TxBufferPut((unsigned char) button_event_map[pin][0]); // first byte from table = CHANNEL
    
    	MIOS_MIDI_TxBufferPut((unsigned char) button_event_map[pin][1]); // second byte from table = NOTE
    
    	MIOS_MIDI_TxBufferPut(pin_value ? 0x00 : 0x7f);
    
    	MIOS_MIDI_EndStream();	// midilink encapsulation tail
    
    
    you can now write:
    
     MIOS32_MIDI_SendEvent(DEFAULT, button_event_map[pin][0], button_event_map[pin][1], pin_value ? 0x00 : 0x7f);
    
    

    where DEFAULT is a MIDI port (usually assigned to USB0)

    of course...

    Some tutorials can be found here: http://www.ucapps.de/mios32_c.html

    Recommented reads:

    #001: Forwarding MIDI Events

    #002: Parsing MIDI Events

    #003: Debug Message

    #004: Sending MIDI

    #009: Controlling up to 128 LEDs with DOUTX4 Modules

    #010: Scanning up to 128 buttons connected to DINX4 Modules

    #012: Scanning up to 64 analog pots (or even more)

    Best Regards, Thorsten.

    ok Thorsten, thanks a lot for your anwser.

    I'd really like to upgrade in a few months.

    About LCD, I'll check further but I understood we can use 2LCD with this core... wow!

    all the best,

  8. about DIN, can I cascade 3 DINx4 on the core32 ?

    I easily found the info for AIN (and Thorsten wrote it in this thread) but for DIN..

    I guess the features of the protodeck wouldn't be a problem to replace the 2 core8 by only 1 core32:

    THE PROTODECK controller features:

    - 87 potentiometers

    - 90 buttons

    - 81 rgb leds

    - 2 PIC 18F4620 (20MHz RISC processors)

    - fully custom rgb led drivers

    - fully custom firmware

    - 2 MIDI IN/OUT interface

    - included PSU in the box

    am I right?

    would I have to make A LOT of change in the code?

    (codes are there: http://www.julienbay...odeck/#firmware but soon in the repositories here! )

    I could use midi over usb (not OSC for the moment) ..?!

  9. The reason why you took two cores was, that only 64 multiplexed AIN inputs are supported by MIOS8.

    This limitation doesn't exist for MIOS32 anymore. Three AIN modules can be connected to J5A/B/C, and the three AIN multiplexer select lines have to be mapped to free IO pins (e.g. J19)

    Best Regards, Thorsten.

    hi thorsten,

    I guess I would work on the code portability, but my code is very basic, so it may not be hard.

    the thing that makes me happy : usb, only one core, and I guess a lot of other thing I don't even know :)

  10. Salut :)

    je viens vous donner des nouvelles, je pense que j'ai tout simplement charger 2 fois le mios par erreur, ce qu'il ne faut pas faire sur le PIC.

    J'ai donc commandé un burner pour pouvoir re-bruler le PIC.

    Je vous tient au courant des avancés, je vais fabriquer sans doute le boitier ce week-end !

    Merci pour tout ;)

    cool !

    bonne continuation!

  11. les pcb mono face non vernis c'est vraiment bidons

    sans chauffer, quand je les ai reçu, les pistes se décollaient... wow!

    ce que j'aurais dû faire c'est intégrer les modules directement sur mes 7 PCB que j'ai justement fait avec kicad.

    il restait de la place en plus ..

    bref.

    smashTV est pour moi le SEUL qui fait des pcbs valables pour la communauté midibox.

    je n'ai pas de tabou par rapport à l'autre pour le crier au et fort!

    schaeffer pour la face avant ; pros, et surtout avec leur soft, tu as exactement ce que tu as dessiné.

×
×
  • Create New...