Hello at all,
Because I haven't found a driver for the MTS300 (TOS 2). I began to
wrote my one, which produces good enough values for temperature and
light, but the sound value (altough I can read it) is not so satisfying
so I tried to set the gain value for the microphone (I2C). With he help
of the Crossbow TinyOS 1 drivers and the Datasheet for AD5242, I thought
that sending the 3 Bytes Adress (0x5A) , a 0 and the Value (0x40 for
example) would be enough for doing this, so I wrote something like this:
configuration TestAppC {}
implementation {
components TestC, MainC, MicaBusC;
components new Atm128I2CMasterC();
TestC.Boot -> MainC;
TestC.Leds -> LedsC;
TestC.SoundPower -> MicaBusC.PW3;
TestC.SoundOutpt -> MicaBusC.PW6;
TestC.Resource -> Atm128I2CMasterC;
TestC.I2CPacket -> Atm128I2CMasterC;
}
and:
#include <I2C.h>
module TestC {
uses {
interface Boot;
interface Leds;
interface GeneralIO as SoundPower;
interface GeneralIO as SoundOutpt;
interface Resource;
interface I2CPacket<TI2CBasicAddr>;
}
}
implementation {
char Buffer[2];
event void Boot.booted() {
//call SoundPower.makeOutput();
//call SoundOutpt.makeOutput();
//call SoundPower.set();
//call SoundOutpt.clr();
call Resource.request();
}
event void Resource.granted() {
Buffer[0] = 0x00;
Buffer[1] = 0x40;
if (call I2CPacket.write(I2C_START | I2C_STOP, 0x5A, 2, &Buffer[0])
== SUCCESS) {
call Leds.led1On();
}
}
async event void I2CPacket.readDone(error_t error, uint16_t addr,
uint8_t length, uint8_t* data) {
call Leds.led0On();
}
async event void I2CPacket.writeDone(error_t error, uint16_t addr,
uint8_t length, uint8_t* data) {
call Leds.led0On();
}
}
The problem is, that the write operation seems to succeed (led1 turns
on), but the event are not fired (and my new gain doesn't seem to have
an effect)! I've tried several version (char, uint8_t for Buffer,
several tries for the 4. parameter of write, swith Pins on and off), but
none of these worked.
Could someone please tell me what I'm doing wrong?
Thanks in advance for your answers
Regards,
Thomas
PS: Does someone know how to get information about the battery voltage
on micaz? (just reading ADC7 does not seem to do the trick)
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help