posted by 40h and Processing (guest)
on 05.05.2006 08:32
I don't know if anyone else is looking to use this with Processing 
(http://processing.org), but I'm nearly done with a library for the 40h.

You'll have your choice of serial or OSC, thanks to serial library 
included with Processing and Andreas Schlegel's oscP5 library. It will 
also support multiple simultaneous units.

The OSC version will work with vanilla Java, as well.  (The serial 
library seems to be Processing-specific, but I may be able to generalize 
it with a bit of work.)

Once my 40h arrives on Monday, I'll put it through its paces and post 
the library online.
posted by jkriss (jkriss)
on 05.05.2006 08:35
Yeah, so I misread the form -- didn't mean for that to be anonymous. 
Now I have a real user account.

--

jesse kriss | http://jklabs.net
posted by Roo (guest)
on 05.05.2006 11:28
jesse kriss wrote:
> Once my 40h arrives on Monday, I'll put it through its paces and post 
> the library online.

Nice one. Glad to see someone already doing some Processing hacking. 
Looking forward to seeing this.
posted by tehn (tehn)
on 05.05.2006 12:19
Roo wrote:
> jesse kriss wrote:
>> Once my 40h arrives on Monday, I'll put it through its paces and post 
>> the library online.
> 
> Nice one. Glad to see someone already doing some Processing hacking. 
> Looking forward to seeing this.

yeah!
posted by tspear (tspear)
on 05.05.2006 19:01
brian crabtree wrote:
> Roo wrote:
>> jesse kriss wrote:
>>> Once my 40h arrives on Monday, I'll put it through its paces and post 
>>> the library online.
>> 
>> Nice one. Glad to see someone already doing some Processing hacking. 
>> Looking forward to seeing this.
> 
> yeah!

yup that sounds good, i would love to have time to meddle with 
processing... bridge too far tho for me..
posted by jkriss (jkriss)
on 08.05.2006 18:34
Version 001 is up: it works on OS X and WinXP, with OSC or a direct 
serial connection.  I haven't tested it on Linux, but it should work 
fine there, too.

http://jklabs.net/monomic/

I've already got a few enhancements in mind, but this covers the basics.
posted by flight404 (flight404)
on 10.05.2006 02:58
Oooh, how I cant wait.  This will be a much more portable 
airline-friendly version of the 64 griffin powermate array I have been 
using for experimentation like this.  I have some code in Processing 
that I am looking forward to retrofitting for 40h.  Fingers crossed for 
a 40h that allows for brightness settings for the LEDs.  But nice work 
all around!
posted by bosbos (bosbos)
on 10.05.2006 03:22
Robert Hodgin wrote:
>Fingers crossed for 
> a 40h that allows for brightness settings for the LEDs.

Yep, the 40h has adjustable brightness on the LEDs (was tinkering with 
it in test last night). the future - today!
posted by jkriss (jkriss)
on 10.05.2006 07:18
bos bos wrote:
> Robert Hodgin wrote:
>>Fingers crossed for 
>> a 40h that allows for brightness settings for the LEDs.
> 
> Yep, the 40h has adjustable brightness on the LEDs (was tinkering with 
> it in test last night). the future - today!

It's a master setting, though, if I understand correctly.  (Monomic 
comes with a "pulse" example that uses that command.)
posted by Robert Hodgin (guest)
on 10.05.2006 12:51
bos bos wrote:
> Yep, the 40h has adjustable brightness on the LEDs (was tinkering with 
> it in test last night). the future - today!

Nice!  Though perhaps it isnt controllable?  Is that what you are
suggesting Jesse?  Basically, could I do this with it...

http://www.flight404.com/griffin/griffin8x8.mov

... not so much the turning knobs part, but the ripple code for on-press
events.

-robert
posted by jkriss (jkriss)
on 10.05.2006 12:57
Robert Hodgin wrote:
> Basically, could I do this with it...
> 
> http://www.flight404.com/griffin/griffin8x8.mov

Not quite, I don't think.

You can apply a fade to all lit leds simultaneously, but I don't believe 
you could have independent fade actions running on multiple led groups. 
The serial command for setting led intensity (and the corresponding 
setLedIntensity(float f) method in Monomic) doesn't specify a matrix 
location, just a master value.



posted by tehn (tehn)
on 10.05.2006 13:36
the 40h uses the max7221 led driver which supports led intensity for the 
entire driver, not individual leds.

if someone was interested in hacking the firmware, you could make a 
pretty efficient pwm system to get individual brightness (if even 
2-levels)
posted by Robert Hodgin (guest)
on 10.05.2006 13:57
brian crabtree wrote:
> the 40h uses the max7221 led driver which supports led intensity for the 
> entire driver, not individual leds.
> 
> if someone was interested in hacking the firmware, you could make a 
> pretty efficient pwm system to get individual brightness (if even 
> 2-levels)

Ah, oh well.  Still intriguing.  I didn't email my interest in an order 
until a couple days ago so I would imagine by the time I get mine (few 
months?), plenty of hacks will be available so I will continue to keep 
my fingers crossed.

-robert
posted by roo (roo)
on 12.05.2006 15:03
Jesse Kriss wrote:
> http://jklabs.net/monomic/

Just tried this out. Very nice Jesse. Looking forward to seeing what I 
can do with this.
posted by jkriss (jkriss)
on 12.05.2006 15:13
Roo Reynolds wrote:
> Just tried this out. Very nice Jesse. Looking forward to seeing what I 
> can do with this.

Sweet, a user! ;-)

Let me know if there's anything I'm missing.
posted by Guest (guest)
on 13.05.2006 14:17
Jesse Kriss wrote:
> Roo Reynolds wrote:
>> Just tried this out. Very nice Jesse. Looking forward to seeing what I 
>> can do with this.
> 
> Sweet, a user! ;-)
> 
> Let me know if there's anything I'm missing.


I am interested in having a non-processing version of the java code
which uses raw serial (rather than OSC, which I think you already
support outside of Processing already). I'm on Windows a lot of the
time, and so don't have OSC set up yet.

As a quick hack, I made an extension to the Monomic superclass called
MonomeJavaSerial, based on MonomeSerial and sharing way too much code
with it. I'm passing it back to you (attached) in case it helps inspire
any future refactoring you might do. :-)

Cheers
posted by Guest (guest)
on 13.05.2006 14:18
Jesse Kriss wrote:
> Roo Reynolds wrote:
>> Just tried this out. Very nice Jesse. Looking forward to seeing what I 
>> can do with this.
> 
> Sweet, a user! ;-)
> 
> Let me know if there's anything I'm missing.


Forgot the attachment...
posted by jkriss (jkriss)
on 14.05.2006 08:28
Guest wrote:
> As a quick hack, I made an extension to the Monomic superclass called
> MonomeJavaSerial, based on MonomeSerial and sharing way too much code
> with it. I'm passing it back to you (attached) in case it helps inspire
> any future refactoring you might do. :-)
> 
> Cheers

Great!  The plain Java version will work fine in Processing, so I may 
just replace MonomeSerial with this version and remove a dependency in 
the process.

Thanks for your contribution -- I'll post again when the new version is 
up.
posted by roo (roo)
on 14.05.2006 17:40
Jesse Kriss wrote:
> Thanks for your contribution -- I'll post again when the new version is 
> up.

Hey. I just (finally) discovered http://jklabs.net/maxlink/ too. Looks 
like lots of potential for Max/MSP <-> Processing fun there. Nice one.
posted by Jonathan (guest)
on 16.05.2006 14:11
brian crabtree wrote:
> the 40h uses the max7221 led driver which supports led intensity for the 
> entire driver, not individual leds.
> 
> if someone was interested in hacking the firmware, you could make a 
> pretty efficient pwm system to get individual brightness (if even 
> 2-levels)

is the firmware updatable via usb, or do we need to clip a chip into a 
writer?

i'd really love to have per-led control.  2 level brightness could give 
this an almost 16x16 functionality
posted by tehn (tehn)
on 16.05.2006 15:33
> is the firmware updatable via usb, or do we need to clip a chip into a 
> writer?
> 
> i'd really love to have per-led control.  2 level brightness could give 
> this an almost 16x16 functionality

it's updatable via jtag. it's a cheap usb programmer/debugger (link is 
on the process page at monome.org)

we're still finishing the embedded programming howto, we'll post it soon