You can add a -v argument to the ncc command line
and see all the files that are accessed. You could check that
the interfaces directory where you found the missing thing
is actually visited, and/or copy the file to a directory that
you know is being used. Did you search the help list?

I don't use T2 so there's not much more I can do.
MS

Fangming Zhang wrote:
Hi Michael Schippling,

I think MTS310 and micasb are the same thing. Now, I name the folder as MTS310. The 'DemoSensorXC' and 'DemoSensorYC ' were put in this new folder.

The 'ResouceDefaultOwner' was downloaded from CVS of tinyos. In file 'AccelConfigP ', the corresponding code is listed as following:
components new SplitControlPowerManagerC() as PowerManager;
PowerManager.ResourceDefaultOwner -> Arbiter;
  PowerManager.ArbiterInfo -> Arbiter;
  PowerManager.SplitControl -> AccelP;

However, in file 'SplitControlPowerManagerC', its code is:
generic configuration SplitControlPowerManagerC() {
  uses {
    interface SplitControl;

    interface PowerDownCleanup;
    interface ResourceController;
    interface ArbiterInfo;
  }
}
implementation {
  components  new PowerManagerP() as PowerManager;
PowerManager.SplitControl = SplitControl;

  PowerManager.PowerDownCleanup = PowerDownCleanup;
PowerManager.ResourceController = ResourceController;
  PowerManager.ArbiterInfo = ArbiterInfo;
}
I found there is interface of ResouceDefaultOwner. What can I do?

Regards,

On 5/8/07, *Michael Schippling* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    I think MTS310 and micasb are the same thing aren't they?
    If that's the case you probably should put your new files
    in the micasb directory and use that as the SENSORBOARD.
    That way you'll be able to access the other board specific
    code if you need it...

    Anyway I don't use T2 so I can't search for ResouceDefaultOwner
    If it's in interfaces, maybe you need an implementation.
    I remember seeing questions about this on the list so someone
    may have posted a solution.

    MS

    Fangming Zhang wrote:
     > Hi Michael Schippling,
     >
     > I found a mistake when I compiled it, which I did is
    'SENSORBOARD=mts310
     > make micaz'. Actually,
    I  put  all  interfaces  of  mts310  in  folder
     > '/tos/sensorboards/micasb'.  I just  rename 'micasb' to 'mts310' and
     > compiled  it again like 'SENSORBOARD=mts310 make micaz'. However,
    there
     > is an error which said 'In component `AccelConfigP':
     > /opt/tinyos-2.x/tos/sensorboards/mts310/AccelConfigP.nc:33:
    cannot find
     > `Resourc
     > eDefaultOwner''.
     >
     > It seems  the new  component DemoSensorXC and DemoSensorYC
    worked, but
     > the component 'ResouceDefaultOwner' is located in
    '/tos/interfaces'. Why
     > the compiler cannot find it?
     >
     > I named the packet 'GetAccel'. Part code of of GetAccelC.nc:
     > module GetAccelC
     > {
     >   uses {
     >     interface Boot;
     >     interface SplitControl as RadioControl;
     >     interface AMSend;
     >     interface Receive;
     >     interface Timer<TMilli>;
     >     interface Read<uint16_t> as ReadX;
     >     interface Read<uint16_t> as ReadY;
     >     interface Leds;
     >   }
     > }
     > implementation
     > {
     >   message_t sendbuf;
     >   bool sendbusy = FALSE;
     >   getaccel_t local;
     >  ...
     > event void Timer.fired () {
     >     if (call ReadX.read() != SUCCESS)
     >       report_problem();
     >       }
     > event void ReadX.readDone(error_t result, uint16_t data)
     >   {
     >     if (result != SUCCESS)
     >       {
     >         data = 0xffff;
     >         report_problem();
     >       }
     >     local.readings[0] = data;
     >     //start to read Y axial acceleration
     >     if (call ReadY.read() != SUCCESS)
     >       report_problem();
     >   }
     >
     >   event void ReadY.readDone(error_t result, uint16_t data)
     >   {
     >     if (result != SUCCESS)
     >       {
     >         data = 0xffff;
     >         report_problem();
     >       }
     >     local.readings[1] = data;
     >
     >     //send
     >     if (!sendbusy && sizeof local <= call AMSend.maxPayloadLength ())
     >     {
     >             memcpy(call AMSend.getPayload(&sendbuf), &local,
    sizeof local);
     >             if (call AMSend.send(AM_BROADCAST_ADDR, &sendbuf, sizeof
     > local) ==   SUCCESS)
     >                 sendbusy = TRUE;
     >     }
     >     if (!sendbusy)
     >             report_problem();
     >
     >     /* Part 2 of cheap "time sync": increment our count if we didn't
     >        jump ahead. */
     >         if (!suppress_count_change)
     >             local.count++;
     >         suppress_count_change = FALSE;
     >   }
     > }
     >
     > Where the message 'getaccel_t' define in file 'GetAccel.h' as:
     > typedef nx_struct getaccel {
     >   nx_uint16_t version; // Version of the interval.
     >   nx_uint16_t interval; // Samping period.
     >   nx_uint16_t id; // Mote id of sending mote.
     >   nx_uint16_t count; // The readings are samples count *
    NREADINGS onwards
     >   nx_uint16_t readings[NREADINGS];
     > } getaccel_t;
     >
     > code of 'DemoSensorXC' is list as following:
     > generic configuration DemoSensorXC() {
     >     provides interface Read<uint16_t>;
     > }
     >
     > implementation {
     >   components new AccelXC() as Sensor;
     >   Read = Sensor;
     > }
     >
     > In 'DemoSensorYC', AccelXC is replaced by AccelYC .
     >
     > Thanks for your patient to read my code.
     >
     > Best regards,
     > Fangming
     >
     >
     > On 5/7/07, *Michael Schippling* < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
     > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote:
     >
     >
     >     You may have something missing in one of your config files,
    or perhaps
     >     have your new files in the wrong directory. To continue down the
     >     DemoSensor
     >     route you need to find and clone every reference.
     >
     >     If you are using T1 there is an Accel component in the micasb
    directory,
     >     that might be easier to use then trying to emulate DemoSensor...
     >
     >     If it continues to be a pointless exercise, post (all of)
    your code
     >     so we
     >     can try to figure it out.
     >     MS
     >
     >
     >
     >
     >     Fangming Zhang wrote:
     >      > Hi Michael Schippling,
     >      >
     >      > The problem is it is difficult processing in the
    'DemoSensorC' , as
     >      > 'DemoSensorC' only provide one interface 'Read' with one
    data. I
     >     tried
     >      > to set up a 'DemoSensorXC' and a 'DemoSensorYC', which
    want to read X
     >      > and Y acceletation data separately, and  use
     >     interface  'AccelXC'  and
     >      > 'AccelYC'  correspondingly. However, the compile cannot find
     >      > 'DemoSensorXC' and 'DemoSensorYC'.
     >      >
     >      > How about I use 'ReadStream' or 'AccelReadStreamP'?
     >      >
     >      > regards,
     >      > Fangming
     >      >
     >      > On 5/7/07, *Michael Schippling* < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
     >     <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
     >      > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
    <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> >> wrote:
     >      >
     >      >     You will need to create two DemoSensor type files that
    differ
     >      >     only in their ADC channels. Or for extra credit you
    can just
     >      >     eliminate the entire DemoSensor thing and just use
    ADC[x] &
     >     ADC[y],
     >      >     where x and y are the channel numbers of interest.
     >      >
     >      >     Generally you could use a Timer to fire off the first
     >     ADC.getData()
     >      >     conversion and then in the dataReady() of that ADC,
    fire the
     >     next one.
     >      >     There is some indication that you could do both
    getData()'s
     >     in the
     >      >     timer fire routine -- and internal ADC queuing code will
     >     handle the
     >      >     sequencing -- but I haven't actually tried it...
     >      >
     >      >     seem reasonable?
     >      >     MS
     >      >
     >      >
     >      >     Fangming Zhang wrote:
     >      >      > Hi everyone,
     >      >      >
     >      >      > I use a MTS310 to read the accelometer data, X and
    Y. The
     >     wireless
     >      >      > platform is micaz. My difficulty is how to implement
     >     measure and
     >      >     put the
     >      >      > X and Y acceleration in one 'DemoSensorC' file. It
    seems the
     >      >     interface
     >      >      > 'Read' can only read one AD port. How can I do?
     >      >      >
     >      >      > Regards,
     >      >      > Fangming
     >      >      >
     >      >      >
     >      >      >
     >      >
> ------------------------------------------------------------------------

     >      >      >
     >      >      > _______________________________________________
     >      >      > Tinyos-help mailing list
     >      >      > [email protected]
    <mailto:[email protected]>
     >     <mailto:[email protected]
    <mailto:[email protected]>>
     >      >     <mailto: [email protected]
    <mailto:[email protected]>
     >     <mailto:[email protected]
    <mailto:[email protected]>>>
     >      >      >
     >      >
> https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
     >      >
     >     <
    https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
> <https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
    
<https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help>>>
     >      >
     >      >
     >
     >


_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to