I was writing a microphone driver for Linux - couldn't get very far, so wrote
a Puru Puru driver instead - but now that's done I'm back to the
microphone....
The microphone responds to Maple command 15 (0x0f) - (read
http://mc.pp.se/dc/maplebus.html to understand what this means).
A command of 0x0e, 0x01 generates an 0x08 response (ie a data transfer) -
with 8 bytes transfered (other than the standard 32 bit command
acknowledgement) - and the 'default' appears to be 0x00, 0x00, 0x00, 0x10,
0x00, 0x00, 0x00, 0x00 - but other commands appear to generate slighly
different responses...
0x0f followed by.... 0x00 generates a -3 response
0x01 generates an 0x08 response
0x02 generates an 0x07 response
0x0002 returns 0x00 0x00 0x00 0x10 0x00 0x00 0x00 0x00 from (a
subsequent) 0x01
0x0102 returns 0x00 0x00 0x00 0x10 0x02 0x00 0x00 0x00 from 0x01
0x0202 returns -3
0x03 generates an 0x07 response
0x0103 generates an 0x07 response and default from 0x01
0x0203 generates an 0x07 response and default from 0x01
0x0303 as above
0x0403 as above
0x0503 as above
0xff03 generates a -3
0x04 generates an 0x07 repsonse
0x0104 generates default response from 0x01
0x0204 generates 0x00 0x00 0x00 0x10 0x10 0x00 0x00 0x00 from 0x01
0x0304 generates -3
0x05 generates a -3 response
0x08 generates a -3 response
0x09 generates a -3 response
(sorry this is written shorthand - but I hope you understand)
Anyway, point is, can anyone suggest what any of this might mean... any
guesses welcome.
0x10 == 16 bit sampling, seems one obvious conclusion, sort of...
Before anyone asks the block read and get condition commands appear to
generate a -3 response in all conditions I've tested for, so they (seem)
useless as a means of transferring data from the microphone.
0x10, 0x11 and 0x12 as basic commands also appear to generate -3 responses.
Anyway, any thoughts?
Adrian
|