hello christian,
0.) a cimputer with usb and hid drivers (that means: if your comp can use a mouse/keyboard/joystick... on usb)
ok
1.) a programmer that is cappable of burning the microchip pic 16c765 microcontroller
ok, but I don't have a uv errazer : does a compatible chip exist in Flash memory?
2.) of course one if that microcontrollers, hard to get in germany, sorry. be sure to get the -jw version, which is uv-erasable. otp-chips are a waste at the current state of my development.... remember, its just a test firmware....
ok
3.) the current test-firmware from http://mamalala.de/iobox-test.zip
ok
4.) a small prototype board, a usb-b connector, a cable from usb-b to usb-a (to you computer) and led's (with 1k resistors), buttons and faders as needed. take look at the microcontrollers datasheet (http://www.microchip.com/1010/pline/picmicro/category/perictrl/14kbytes/devi...) we need a 6 mhz xtal, portb is used to display led's, portd is used for 8 buttons, an0-an7 as analogue inputs plus the two pwm outputs on rc1 and rc2...
ok
5.) pd or jmax with a event-device object (on jmax i made ev_dev, i think h.c. steiner has made a similar object for pd on linux)
hum, I don't know. I use pd / windows . does a such object exist?
I don't have much time and dont really know how to write hid object for pd (could learn : I already write object for pd, but don't have lot's of time).
So, I think I a pd for windows exist, I could make a try. otherwise, I think I'll not have time.
after burning and assembling, the thing does the following : on connecting to the computer, it enumarates to the host as hid device. it sets up 64 led outputs, 64 single key inputs, 88 adc inputs, 64 dac outputs and a 3-byte in-/output. the adc out's are declared (by the device) as absolute events, the buttons and led's as what they are, respectively. the dac is accessed as led, just with a 16 bit value range instead of the usual 1-bit on/off state .... the 3-byte in/out is done as one 3-byte wide button and a 3-byte wide led.
ok, really nice for a single low cost chip...
nice work. please tell me if I can help you. (restriction are : no uv errazer, and not lot's of time, I'm on windows (and a bit of linux) )...
cyrille henry
currently used by the chip (as this are the built-in capabilities) are 8 adc, 2 dac (done by using the pwm outputs of the chip) , 8 buttons and 8 led's. (see http://mamalala.de/iobox-test.jph how that looks in jmax)
that makes up the following events :
inputs: (from device to computer) a: type 1 (key) code 256 - 263 (would be 256 - 319 in full version) range 0/1 (on/off) b: type 3 (abs. movement) code 6-13 (would be 6-92 in full version) range 0-255 (would be 0-255|1023|4095 in full version, depending on used adc)
outputs (all are type 17:led) a: 0-7 (would be 0-63 in full version) range 0/1 (on/off) b: 64-65 (would be 64-127 in full version) range 0-256 (would be 0-255|1023|4095 in full version, depending on used dac)
the rawbyte in/out's do nothing yet, but will be used for thing like buffered midi in/out, serial in/out, rotary encoders, small lcd displays, [put your ideas here]....
now comes the point where i need your assistance :
please test if the device connects to your computer without error.
if you are on linux, test it's in/output. to send to the device in a propper way, you need a recent linux-usb driver. older ones (for example 2.4.18) dont include the report-id to the device, but we need that ;-) newer drivers do (as in linux 2.4.24 and up....) all the i/o should be do-able by the standard linux event input device interface (evdev) and the linux usb-hid driver compiled to use that interface....
more important to me is, if you are on mac/windows/.... : i cant supply objects for pd/jmax/... on these platforms. but, from what i expect they should be easy to write. just access the hid interface of the host, it will give/take the reports as needed..... for example, a usb-hid conform "driver" in source-form for a mouse, keyboard, joystick, tablet.... should provide a good basis for that..... if you plug it into window, it already announces itself as unknown hid device.
please help, provide some objects for that thing ! all the linux stuff i will do myself, ev_dev is already there. what i will do next is a alsa-driver that wraps the device into a midi stream, for use wit other sequencer/synth apps. such a thing would be nice on other platforms too. imagine all midi-conform apps could use that thins faderbox, for example...
ok, thats all for now. if you want to try that and help me out on that part, drop me a note and "just do it". report back your experience....
thnaks a lot,
chris
PD-announce mailing list PD-announce@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-announce