Jump to content

protofuse

Programmer
  • Posts

    288
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by protofuse

  1. I'm looking informations about the const:

    button_event_map

    I understood basically what it involves, but what kind of data to put into ??

    { byte1, byte2 }

    for pot_event_map, byte1 = midi status and byte2 = midi data

    what do I have to do with button_event_map ?

    (I really looked for about that, sorry if I missed something )

  2. Hello experts and the others,

    I'd like to use a real IDE in order to code my midibox app.

    This one could be eclipse as I already use it for java and python programming.

    I read carefully:

    - http://www.midibox.org/dokuwiki/doku.php?id=windows_toolchain_quickstart

    - http://www.midibox.org/dokuwiki/doku.php?id=howto_app_dev_eclipse_ide

    But I'm a little bit stuck.

    How could I do for using it for programming my app?

    Eclipse IDE fits my needs, but I can change for another IDE if another one fits better with mios programming...

    cheers and regards!

  3. hi experts  :)

    I'm looking for potentiometers for my deck project..

    I checked on radiospares, mouser, alpha taiwan, farnell etc

    there is always a required feature missing

    required feature (ideally !)

    - linear & 10K (especially required, of course)

    - knurled & 6mm diameter shaft

    - with solder lug (=not for pcb)

    Basic!!

    But I don't find them :(

    I need them for them for those: http://fr.farnell.com/jsp/search/productcompare.jsp?SKUS=1440013,1440005,1440004,1440003,1440002

    so the "knurled shaft" feature seems to be necessary!

    and this is the feature that stuck me in my research!

    I mean, I found a lot with plain shaft or D shaft !

    so the question is, do you think I can use them with my knobs + glue (or else) ???

    your help would be appreciated!

  4. hello,

    As I'll need around 100 buttons, 100 rgb leds, and 100 pots + 1 LCD, I began to design an architecture with 2 cores.

    after reading about multiple core hardware, some question remains.

    I understood that there are (at least) 2 kind of method to use multiple core when it is required:

    - via LTC module (here)

    - via midibox link (here)

    but...

    in my case, with 2 cores, I'm a little bit stuck.

    )) I'll use the LTC for midi in & out led purpose only

    )) I'll put 2 DINx4 + 2 AINx4 + 2 DOUTx4 on each core

    )) I'll use a character LCD handled by one core

    what is the more efficient link I can do between my two cores ?

    I'm able to read.. so if a link I didn't check is available, I just ... run to it :)

    thanks a lot for this site... and for the GREAT midibox framework!

  5. bugfight, USER_SR_Service_Prepare is an ISR too... (sorrrrrry!)

    so probably, your code works like that and works with efficiency ... :)

    noofny, I guess it could be useful to make one core drives one matrix, and the other one the other matrix

    because of overloading risk of ISR..

    experts, what do you think about that?

  6. as I'm just as the beginning of my project, I cannot test it by myself, but... I almost understood how it can work..

    the schematic of noofny, with the verification and eventually fixed thing about the ground of pin 9 (or pin 10 with ULN28003) may work fine!

    in order to avoid flickering, I guess we have to use an interrupt service routine.

    it is a process called periodically AND independently of the main routine.

    I read this a long time ago about interrupt and timer of arduino board (atmega8 controller)

    As described here, we have to use the timer2 and a particular interrupt.

    indeed, the timer 0 is the clock reference

    timer1, timer2 takes timer0 as a reference

    so, we can "hijack" timer2 for our use

    /////////////////////////////////////////////////////////////////////////////
    // This function is periodically called by MIOS. The frequency has to be
    // initialized with MIOS_Timer_Set
    /////////////////////////////////////////////////////////////////////////////
    void Timer(void) __wparam
    {
    }

    I'd like to put inside this Timer(void) function the cycle we talked about above.

    pratically, it should work like that:

    main functions => handle button (via DIN SRs) + handle pots (via AIN SRs)

    interrupt called functions => handle RGB Leds matrix (called via an interrupt)

    why shouldn't we OVERload the Timer(void) function ?

    it is easy: when it will be called, the system ONLY care of what it will be inside this function.. it means: no functions from the main thread works!!

    ...thus it is called i n t e r r u p t... pretty and cool name and ... indeed the appropriated name ;)

    basically, it means: no pots handling, no buttons handling during the interrupt time (= the driving leds matrix time)

    I'll code something asap.

    but as I said, I cannot test it.

    so, probably, we'll work with noofny (one in France, the other in Australia...!)

    but the solution is near... and others had done it before (example: the monodeck II)

  7. bugfight, the code you made is to use with the first schematic from noofny or another (one of those in my link) ??

    I found a mistake in the schematic, hope noofny didn't make it in the real world.

    the "common" pin (pin 9 for the ULN2003 and 10 for the ULN2803) isn't linked to ... ground in our case.

    personally, and probably, I'll do that:

    rgbledsuln28003dout21.jpg

    bugfight? what do you think about that and about the code we can use for it ?

    by sending bytes from the CORE to the DOUTx4, we successively commute the rows of the matrix to the ground and light up colors in the line successively:

    for line

        for color

            light up all led in the line with current color

    the only question I have: does it flicker......................?

    indeed, at a time, one color of a led in one line is up...

    I'm afraid about that.

    I have to dive more inside the midibox framework in order to figure out how timers are used ..

    because: handle pots, buttons, and ... making so quick needed cycles... I guess it requires asynchronous stuff.. (thread..)

    but i'm sure it already exists in this powerful framework

  8. hello,

    I contribute here as I worked on rgb led matrix too.

    The only "problem" is the fact the cathods are linked... ground is common and if I sink the current on a line, it sinks from each cathode and blip blip blip: the three colors are light up together.

    so transistors are here only for avoiding that!

    but I guess everyone understood that, if it wasn't the case, I hope it is clearer for several

    I just add it several links that could help:

    1/ led spi interface from sparkfun

    00760-02-L_i_ma.jpg

    http://www.sparkfun.com/commerce/product_info.php?products_id=760 => especially the firmware code.

    even if it is a spi between your core and the led driver, the matrix is connected via SR + a pretty ULN darlington arrays

    watch this pdf

    it shows a correct rgb led driver wired!

    but this is incomplete without the wiring of the RGB led matrix involved

    ATTENTION: the matrix is " as if it was" a common anode in this sparkfun example !

    all the examples here are common cathode!

    but the philosophy is the same watch it:

    I thought you had to feed -v into the darlingon in's, but you feed in +v and it outputs -v. Still don't really understand how that happens but there's a lot of this going over my head - just glad it's sorted though.

    currents have to be sinked by the darlington.

    you saturate one transitor by sending +v to it

    it closes the circuit between the corresponding line and the ground ... so yes: the current gets out the led cathode to the ... commuted ground :)

    and you do it on a cycle.

    so now, it is complete  ;)

    2/ unsped & Devon Jones/Octinct (+ )

    for those who don't know the octinct, it is a NICE and WORKING full* rgb monome clone arduino based.

    http://unsped.blogspot.com/

    Check the code it uses.

    no darlington, ok, but 3 transistors: one for each color.

    the cycle is:

    for all lines

       for all color

           light up this led

    the first link about that, that talks about darlington is : http://www.upwardnotnorthward.com/2008/01/my-first-project-full-colour-rgb-monome.html

    3/ arduinome's playground about LEDs

    http://www.arduino.cc/playground/Main/InterfacingWithHardware#Output => LEDS & Display (just added the unsped link, it hasn't been added ... what a omission!!!)

    BTW, I began a project like noofny, I only designed things on visio and ordered 2 midibox 64 kits at Mike's shop.

    If I can help about that, I could easily debug when I'll wire my matrixes...but I'm sure above links provide solutions, especially the first link that shows how the hardware has to be wired!

    If you need help, just ask!!

  9. hello all of you,

    firstly, I have to thank you before anything.

    you produced and produce a very big framework with a very nice community.

    I read a lot, I'll continue to do that to be more aware.

    But At this point (just before to buy) I need some help. I just hope you won't find my question as a very newbie question and that it won't disturb you...

    I read http://www.midibox.org/dokuwiki/doku.php?id=mios_pic18f4685 about PIC18f4685

    indeed, when I read http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en026324 and http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en010297 , I can see the differencies between them about internal EEPROM, internal flash and RAM.

    I read that MIDIO128 (128 buttons + 128 leds) is very ok with  PIC18F452

    I only produce and receive midi messages, no sound (no chip for that in the box!)

    My project will involved 98 buttons, 103 pots and 90 RGB leds.

    I'll use 2 core +

    4 AINx4 for pots

    3 DINx4 for buttons

    2 DOUTx4 (one for multiplexing 8x8 rgb leds with 2 Darlington Transistor Arrays, the other one for the same kind of matrix, but smaller i.e 8x3 + 2..)

    1 LTC

    do you think I'll need PIC18F452 or PIC18F4685 ?

    I read that modification in os and app could it be required to use the PIC18F4685 (http://www.midibox.org/dokuwiki/doku.php?id=using_pic18f4685 : "Note: PIC18F4685 and PIC18F4682 are not 100% binary compatible to PIC18F452. RAM from 0×60-0x7f is not directly accessible. BANKED accesses have to be used instead.")

    I hope I'll find infos about that :)

    long life to the community

    ps: my project will be published asap and ALL will be available (code/schematics/design/photos)

×
×
  • Create New...