protofuse
-
Posts
288 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Blogs
Gallery
Posts posted by protofuse
-
-
about "converting" my 2 main.c for my 2 core8 to only one main.c for my future core32, which "skeleton" could I use?
I mean, my midibox is 2x MB64.
Is there a MB64 version of the main.c for core32?
-
-
I'm going to reorder one :-(
I'm sad!
It was the last part of my controller I was working with ...
-
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 ?
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 (!)
-
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!
-
NO
if it is an Hitachi driver compatible character LCD, you don't need to do anything as it is default LCD in MIOS
it answered.
-
No.
ok.
I replaced s8 by unsigned int cause I had a compilation error.
My LCD is 2x20
should I define something somewhere with MIOS_LCD_YAddressSet and/or MIOS_LCD_TypeSet ?
-
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?
-
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 thisHi 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.#define DEFAULT_LCD_SIZE 1
I guess the 2nd part of the constant definition should be done in my main.h ...?!
-
I am also n00b, but I have noticed there are some examples in SVN: http://svnmios.midib...mples%2Flcd7%2F
Hope they help :)
hello,
it helps.
but should I put special files in my apps folders? in my MIOS_base folders ?
-
I wrote a little function that gets called by Init(). This function simply displays one frame, then waits a little, displays the next, ...
and may I have the chance to check this little function?
-
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,
-
nice!
I'd like to put a little logo at the init time.
how could I do that?
I mean, as LCD are refreshed and displayed with ISR functions, should I addressed things inside init() ? or elsewhere, when init() is done ?
-
Using a sifferenz size LCD is just a matter of changing a couple of lines in the code.
ok lucem.
this was the part I didn't tweak yet..
thanks.
-
hello,
I'm using 2 core8 but my target would be 1 core32.
the question is : can I use a LCD greater than 16x2 with core8 ?
I'm using a "basic" customized MB64 code, should I tweak it for using a 40x2 (for instance) ...?
-
Actually, if you have free pins left on the core32, you can use more than just two ;)
ok.
in my case, 1 is enough.
can I use a 2x40? or only 2x16 ?
-
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,
-
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) ..?!
-
-
felicitations!
the code is amazing
wow. I didn't see that.
the code has changed a lot since the date of this post.
-
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 :)
-
projects are never finished!
my protodeck works fine, hardware part & soft part (with Max for Live) work fine
I'd like to know what I must change in order to upgrade it to core32.
especially the hardware part.
my 2 cores architecture is this one:
I guess I could use *only one core32 (with core8, I could have do that too, but...)
-
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!
-
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é.
upgrading architecture from 2xcore8 to core32
in Design Concepts
Posted
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 :)