Re: [Tinyos-help] How to change the channel frequency of TelosB mote dynamically?
Hi Han TelosB uses the CC2420 radio transceiver, whose libraries are located at /tos/chips/CC2420 (https://github.com/tinyos/tinyos-main/tree/master/tos/chips/cc2420). The component CC2420ControlC may help you (https://github.com/tinyos/tinyos-main/tree/master/tos/chips/cc2420/control). If you are working with the TKN 154 implementation, then, you are using the IEEE 802.15.4 MAC and PHY layers instead the TinyOS native ones. In this case, make use of the primitive PLME_SET_request. Regards David > Date: Tue, 11 Jun 2013 01:42:39 -0700 > From: pvvinh...@yahoo.com > To: tinyos-help@millennium.berkeley.edu > Subject: [Tinyos-help] How to change the channel frequency of TelosB mote > dynamically? > > Dear everyone, > > I'm currently working on TelosB motes using TinyOS 2.1. > Could you please show me how to change the channel frequency of Telosb mote > dynamically (without using the MAKEFILE). > For example, during the operating time, we can use a command/function to > change the frequency of motes, depending on the environment conditions, etc. > > Any help or suggestion will be appreciated. > Thank you very much! > > Han Bin. > > > > -- > View this message in context: > http://tinyos-help.10906.n7.nabble.com/How-to-change-the-channel-frequency-of-TelosB-mote-dynamically-tp23263.html > Sent from the TinyOS - Help mailing list archive at Nabble.com. > ___ > Tinyos-help mailing list > Tinyos-help@millennium.berkeley.edu > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Synchronization in TinyOS
Hi all, This question is more a request for advice and/or opinion. Some research articles which deal with synchronization (i.e., aimed at designing some kind of TDMA scheme) in wireless sensor networks, state that nodes can maintain synchronization by exchanging clock skew/drift information with neighboring nodes in coverage area. In other words, maintain any sort of local synchronization. In this sense, in the specialized literature and/or datasheets, it can be found information about the clock skew associated to many devices. For example, in [1], authors indicate that, on average, TelosB introduce 30 us per second of drift; also MicaZ have 40 us per second on average of clock drift [2]. Taking into account the aforementioned, had no global synchronization (a unique node, e.g., the coordinator of the network, conducts a periodic synchronization proccess with all nodes of the network), would be any simple way to make this local synchronization in TinyOS? I mean, is it wise to consider in your synchronization protocol either these values found in the literature (e.g., 30 us in case you worked with TelosB); or exchange timestamps between two nodes and calculate the difference of time; etc.? Thanks in advance, David [1] W. Pak, K.-T. Cho, J. Lee, and S. Bahk, “W-MAC: Supporting Ultra Low Duty Cycle in Wireless Sensor Networks,” in Proceedings of the 2008 IEEE Global Telecommunications Conference (IEEE GLOBECOM 2008), 2008, pp. 1–5.[2] Y. Wu, J.A. Stankovic, T. He, S. Lin, "Realistic and Efficient Multi-Channel Communications in Wireless Sensor Networks", in: 27th IEEE International Conference on Computer Communications, IEEE, Phoenix, Arizona, 2008, pp. 1193–1201. ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Including QueueC and PoolC components
Hi all Maybe my following question either is a bit tricky or has no solution. Suppose the following multi-hop scenario where we have an end-device (no routing capabilities, it only transmits data to a unique destination), one or several routing devices (their aim is to forward the data transmitted by the end-device to one or several destinations), and one destination (sink): End-Device --> Routing Device 1 --> ... --> Routing Device n --> Destination I am implementing some libraries which ought to be the same regardless of the type of device, namely end-device, routing device and/or destination. As I briefly pointed out, the end-device has no routing capabilities, which implies that its routing table only constains the node it used for joining the network -parent node- and, additionally, it should not implement any message queue to store data. On the contrary, this same features do have to be implemented by the intermediate devices (routing ones), that is, routing tables of higher size for storing more neighboring devices, and message_t queues. I've "solved" the former using dynamic memory (I know this is supposed to not be used, by I've tried to control the usage of memory). However, the issue comes with the latter requirement of implementing the message_t queues. This is explained below. In my library, I employ a unique configuration file (I'll refer it hereafter as main_conf.nc ) that wires everything and it is the same for end-devices and routing-devices. It is worthy to remark that the final application running on each device has a different configuration file that wires to this library. Thus, in this file main_conf.nc, the QueueC and PoolC components ought to be included. A priori, it should be done as follows: In some .h file: #define RX_QUEUE_SIZE 12 or enum{ RX_QUEUE_SIZE = 12}; and in the confuguration file: implements{...components new QueueC(message_t*, RX_QUEUE_SIZE), new PoolC(message_t, RX_QUEUE_SIZE);...} The easy way would be to change the RX_QUEUE_SIZE value to 1 (or eliminate the QueueC and PoolC components of the code) every time I compile the code for an end-device, being this slow and/or inefficient. So, is it possible to do this in any way? Had both components been defined in the configuration file without indicating the size of the queue, I may use again dynamic memory. But in this case... I hope all written above were easily understood! Regards, David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] TKN154: Energy detection scan
Hi Jan I solved the problem. This was due to the fact of including PANDescriptorListNumEntries and PANDescriptorList variables when the MLME_SCAN is requested. I've not dedicated time in examining this problem more in detail, which a priori, I thing this should not occur. But you are the developer so I ber there is a reason. Thanks David > Date: Thu, 21 Feb 2013 12:25:35 +0100 > Subject: Re: [Tinyos-help] TKN154: Energy detection scan > From: ha...@tkn.tu-berlin.de > To: drod...@outlook.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > MLME_SCAN.request() returns a parameter ieee154_status_t, can you take > a look at its value to check whether it is IEEE154_SUCCESS (only in > this case the confirm event will be signalled). > > Jan > > On Thu, Feb 21, 2013 at 11:31 AM, David Rodenas wrote: > > Hi all > > > > I have an issue with TKN154 implementation of the IEEE 802.15.4 standard. I > > am trying to perform an energy detection scan with a PAN coordinator device > > over four pre-defined channels (e.g., 16, 19, 21, and 26) for later, select > > the one which best fits some application requirements. The problem arises > > when the command MLME_SCAN.request is called. It seems to me that the > > proccess regarding this kind of scan falls in a blocked state because the > > event MLME_SCAN.confirm is never issued. Here there is part of the code I am > > using: > > > > --- > > implementation { > >void function_1() > >{ > > ieee154_PANDescriptor_t m_PANDescriptor[4]; > > int8_t EDList [4]; > > ieee154_phyChannelsSupported_t ScanChannels = 0; > > > > ScanChannels += ((uint32_t) 1) << 16; // CH 1 > > ScanChannels += ((uint32_t) 1) << 19; // CH 2 > > ScanChannels += ((uint32_t) 1) << 21; // CH 3 > > ScanChannels += ((uint32_t) 1) << 26; // CH 4 > > > > call MLME_SCAN.request (ENERGY_DETECTION_SCAN, // ScanType > > ScanChannels, // ScanChannels > > 5, // ScanDuration > > 0x00, // ChannelPage > > 4, // EnergyDetectListNumEntries > > EDList,// EnergyDetectList > > 4, // PANDescriptorListNumEntries > > m_PANDescriptor,// PANDescriptorList > > 0 // security > > ); > > } > > > > event void MLME_SCAN.confirm ( > > ieee154_status_t status, > > uint8_t ScanType, > > uint8_t ChannelPage, > > uint32_t UnscannedChannels, > > uint8_t EnergyDetectListNumEntries, > > int8_t* EnergyDetectList, > > uint8_t PANDescriptorListNumEntries, > > ieee154_PANDescriptor_t* PANDescriptorList) > > { > > // It is never issued > > call Leds.Led0On(); > > } > > } > > --- > > > > I appreciate all the help possible. > > > > Regards, > > > > David > > > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] TKN154: Energy detection scan
Hi all I have an issue with TKN154 implementation of the IEEE 802.15.4 standard. I am trying to perform an energy detection scan with a PAN coordinator device over four pre-defined channels (e.g., 16, 19, 21, and 26) for later, select the one which best fits some application requirements. The problem arises when the command MLME_SCAN.request is called. It seems to me that the proccess regarding this kind of scan falls in a blocked state because the event MLME_SCAN.confirm is never issued. Here there is part of the code I am using: ---implementation { void function_1() { ieee154_PANDescriptor_t m_PANDescriptor[4];int8_t EDList [4]; ieee154_phyChannelsSupported_t ScanChannels = 0; ScanChannels += ((uint32_t) 1) << 16; // CH 1ScanChannels += ((uint32_t) 1) << 19; // CH 2ScanChannels += ((uint32_t) 1) << 21; // CH 3ScanChannels += ((uint32_t) 1) << 26; // CH 4 call MLME_SCAN.request (ENERGY_DETECTION_SCAN, // ScanType ScanChannels, // ScanChannels 5, // ScanDuration 0x00, // ChannelPage 4, // EnergyDetectListNumEntriesEDList, // EnergyDetectList 4, // PANDescriptorListNumEntries m_PANDescriptor,// PANDescriptorList 0 // security );}event void MLME_SCAN.confirm ( ieee154_status_t status, uint8_t ScanType, uint8_t ChannelPage, uint32_t UnscannedChannels, uint8_t EnergyDetectListNumEntries, int8_t* EnergyDetectList, uint8_t PANDescriptorListNumEntries, ieee154_PANDescriptor_t* PANDescriptorList) { // It is never issued call Leds.Led0On(); }}--- I appreciate all the help possible. Regards, David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Hidden and Exposed node problem
Hi If there was any accepted/standarized solution for the hidden and exposed terminal phenomena, the current work of the great part of the sciencific community coping with this problem would be unnecessary. There is a plethora of approaches dealing with these problems by making use of multichannel selection, directional antennas, TDMA... In the Tinyos case, you should take a time revising the operation of BoXMAC, and study how nodes access tothe medium taking into account if BoXMAC solves or not the hidden and exposed terminal phenomena. But first, you need more background about what you are trying to study and simulate, e.g., see the following paper: C. Cano, B. Bellalta, A. Cisneros, and M. Oliver, “Quantitative analysis of the hidden terminal problem in preamble sampling WSNs,” Ad Hoc Networks, vol. 10, no. 1, pp. 19–36, 2012. Regards David From: rwmas...@gmail.com Date: Mon, 21 Jan 2013 10:26:34 +0100 To: das.suresh...@gmail.com CC: tinyos-help@millennium.berkeley.edu Subject: Re: [Tinyos-help] Hidden and Exposed node problem Theoretically, the scenario is adequate enough to cause such a problem, but in my experience, first of all it is not that frequent and secondly, the network has to be more dense which in case of just 3 nodes is not enough. So I would suggest to look into the reason more thorough, it could be just because of the collisions between 2 and 3. On Mon, Jan 21, 2013 at 7:37 AM, Suresh Kumar Das wrote: I am using Tinyos 2.1. Does TOSSIM have any sort of mechanism to deal with hidden and exposed node problem. I am searching it from last 2weeks but can find any sollution. I have 3 nodes 1, 2 and 3. Nod 2 and 3 are sending packets to node 1 in . Some packets are get discarded. How can I solve this problem. Any reply or clue is appreciated. Thanks ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Wasif Masood ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] FW: when does CC2420 radio drop a frame?
Hi Collision due to two transmitters sending a frame to the same receiver simultaneously (if these transmitters don't listen to each other - they are not in coverage area -, then this is called the hidden terminal problem). Regards David Date: Tue, 4 Dec 2012 01:07:26 -0500 From: xiao...@wayne.edu To: tinyos-help@millennium.berkeley.edu Subject: [Tinyos-help] when does CC2420 radio drop a frame? Hi everyone, If address recognition is enabled, the CC2420 radio hardware will drop any incoming frame failing the address recognition. Is there any other case that CC2420 discards a frame, at the hardware level? Thanks in advance. -- -Xiaohui LiuTelosBTinyOS 2.1.2 www.cs.wayne.edu/xliu/ ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Drop packets in TinyOS
Hi Eric Up to now, it doesn't work. In fact, when it is supposed the piece of code executes, the mote resets, and I cannot understand it! I'm also debugging the code but I'm missing something because I don't see anything strange. Lets see if I understood your doubts. In relation to who keeps track of what buffers are available or not, I thing that functionality is part of the QueueC component and yours. Yours because you are who mark when a packet has to be dequeued aimed at being transmitted or discarded, and of the QueueC because it points to a "free" space of memory where you can enqueue a new packet as well as the head of this queue. On the other hand, when you need to enqueue a new packet, you have to return a empty message_t to the MAC by making a call to Pool.get(). Then, you enqueue the packet by calling Queue.enqueue(new_message_t) . Both components, PoolC and QueueC, point to different spaces of memory but they keep track of if you have space to store more packets, the piece of memory where you enqueue/return a message_t... . And when you dequeue a packet, after the event sendDone(msg) is signaled, you make a call to Pool.put(msg) (I'm sure you're aware of this). This make sense for me, but as I said, for now, it doesn't work! Regards David Date: Tue, 27 Nov 2012 16:31:15 -0800 Subject: Re: [Tinyos-help] Drop packets in TinyOS From: cire...@gmail.com To: drod...@outlook.com CC: tinyos-help@millennium.berkeley.edu On Tue, Nov 27, 2012 at 12:16 AM, David Rodenas wrote: Hi Eric In any case, I have a possible answer which is simpler than I thought. I was addressing the problem wrong, thinking that a message that was enqueued, it was really a peace of dynamic/external memory that came (was transmitted) to the receiver node, so it increased the already occupied memory (there is a reason of why a thought this: I also work with Network Simulator 2 - NS2 - and there you use dynamic memory for messages). This is totally wrong with TinyOS, when you receive a data message and enqueue it, you are only copying the whole content to the corresponding memory location (you defined Queue as static memory) and increasing a counter of enqueued messages. Then you can use PoolC to return an empty message_t to the system. Thus, when you make a call to Queue.dequeue(), what this function returns is a pointer to a static portion of memory (of size message_t) as well as decreases the counter of messages enqueued. Therefore, when another message_t is enqueued, this occupies the same portion of memory so the node never run outs of memory because of what I what asking. Am I right? The gist is certainly correct. The devil as always is in the details. I do hand debugging of code like this to make sure that a) the general case works, b) is argueably correct, and then c) examine the corner cases (where can it screw up, and are there assumptions made about how the code works that can be violated). But I didn't write or test this code. so your mileage may vary (YMMV). But I do think you have the gist of how it behaves. The question is who keeps track of what buffers are available and what denotes the buffer being busy. If you dequeue the packet from the "queue", does it something else need to be told that this packet is available? Should it get put back into the Pool? eric Thanks again, regards David Date: Mon, 26 Nov 2012 19:51:48 -0800 Subject: Re: [Tinyos-help] Drop packets in TinyOS From: cire...@gmail.com To: drod...@outlook.com CC: tinyos-help@millennium.berkeley.edu Looking at this problem from the queueing mechanism is coming at the problem from the inside out. So it is pretty difficult trying to answer the question you are asking. To do so really requires looking at the data flow (message_t) and buffer flow at various points in packet transmission and reception. The answer to your question depends on what the original caller of the enqueue wants done.And then there is the whole wiring issue and how to pull the whole thing together. Simply dequeuing the message certainly isn't enough because that most likely leads to lost messages. But the whole scheme needs to be worked out in a systemic fashion. And it would be nice if it were documented. It certianly is a hole. Eventually I'll get to it. I certainly understand what you are trying to accomplish. Been there done that.Sorry I don't have a better answer for you. eric On Mon, Nov 26, 2012 at 7:48 AM, David Rodenas wrote: Hi all I would like to know how to discard a message which is stored in a queue (component QueueC of message_t). To better explain this, lets suppose we have a maximum number of retries during we are trying to forward a data message. This is stored in a queue waiting for being transmitted. A failed transmission can occur due to collisions, interferences, etc. So when this ma
[Tinyos-help] Possible bug (small one) in TKN154
Hi Jan I found a possible bug in the "DataP.nc" and/or "TKN154NonBeaconEnabledP.nc". When you use the non-beacon enabled mode as well as the MCPS_PURGE functionality, the compiler suggests that PurgeGtsDevice and PurgeGtsCoord are not connected. In fact these don't need to be connected, but something should be changed at DataP.nc: command ieee154_status_t MCPS_PURGE.request ( uint8_t msduHandle) {if (call PurgeDirect.purge(msduHandle) == IEEE154_SUCCESS || call PurgeIndirect.purge(msduHandle) == IEEE154_SUCCESS ||call PurgeGtsDevice.purge(msduHandle) == IEEE154_SUCCESS ||call PurgeGtsCoord.purge(msduHandle) == IEEE154_SUCCESS) return IEEE154_SUCCESS;else return IEEE154_INVALID_HANDLE; } Maybe change it for (I've not tested it): command ieee154_status_t MCPS_PURGE.request ( uint8_t msduHandle) {if (MLME_GET.macBeaconOrder() != 15 && MLME_GET.macSuperframeOrder() != 15) // beacon mode{if (call PurgeDirect.purge(msduHandle) == IEEE154_SUCCESS ||call PurgeIndirect.purge(msduHandle) == IEEE154_SUCCESS ||call PurgeGtsDevice.purge(msduHandle) == IEEE154_SUCCESS ||call PurgeGtsCoord.purge(msduHandle) == IEEE154_SUCCESS) return IEEE154_SUCCESS;else return IEEE154_INVALID_HANDLE;}else// non-beacon mode{if (call PurgeDirect.purge(msduHandle) == IEEE154_SUCCESS ||call PurgeIndirect.purge(msduHandle) == IEEE154_SUCCESS) return IEEE154_SUCCESS;else return IEEE154_INVALID_HANDLE;} } Am I right? Regards David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Drop packets in TinyOS
Hi Eric thanks for your answer. In fact, I thought the same. Although there is something you pointed out that it just what I need: "The answer to your question depends on what the original caller of the enqueue wants done. [...] Simply dequeuing the message certainly isn't enough because that most likely leads to lost messages." Certeanly, what I need is that, if a message has to be dropped, then it counts as a lost message. So what I don't want to is being dequeuing messages and at the end, run out of memory because I did not manage it correctly handling these dequeued messages. In any case, I have a possible answer which is simpler than I thought. I was addressing the problem wrong, thinking that a message that was enqueued, it was really a peace of dynamic/external memory that came (was transmitted) to the receiver node, so it increased the already occupied memory (there is a reason of why a thought this: I also work with Network Simulator 2 - NS2 - and there you use dynamic memory for messages). This is totally wrong with TinyOS, when you receive a data message and enqueue it, you are only copying the whole content to the corresponding memory location (you defined Queue as static memory) and increasing a counter of enqueued messages. Then you can use PoolC to return an empty message_t to the system. Thus, when you make a call to Queue.dequeue(), what this function returns is a pointer to a static portion of memory (of size message_t) as well as decreases the counter of messages enqueued. Therefore, when another message_t is enqueued, this occupies the same portion of memory so the node never run outs of memory because of what I what asking. Am I right? Thanks again, regards David Date: Mon, 26 Nov 2012 19:51:48 -0800 Subject: Re: [Tinyos-help] Drop packets in TinyOS From: cire...@gmail.com To: drod...@outlook.com CC: tinyos-help@millennium.berkeley.edu Looking at this problem from the queueing mechanism is coming at the problem from the inside out. So it is pretty difficult trying to answer the question you are asking. To do so really requires looking at the data flow (message_t) and buffer flow at various points in packet transmission and reception. The answer to your question depends on what the original caller of the enqueue wants done.And then there is the whole wiring issue and how to pull the whole thing together. Simply dequeuing the message certainly isn't enough because that most likely leads to lost messages. But the whole scheme needs to be worked out in a systemic fashion. And it would be nice if it were documented. It certianly is a hole. Eventually I'll get to it. I certainly understand what you are trying to accomplish. Been there done that.Sorry I don't have a better answer for you. eric On Mon, Nov 26, 2012 at 7:48 AM, David Rodenas wrote: Hi all I would like to know how to discard a message which is stored in a queue (component QueueC of message_t). To better explain this, lets suppose we have a maximum number of retries during we are trying to forward a data message. This is stored in a queue waiting for being transmitted. A failed transmission can occur due to collisions, interferences, etc. So when this maximum number is reached, the data message should be discarded, making this same procedure with the following message (head of the queue). Here there is a simple code of what I'm asking: maximum_retries = 3;num_retries = 0; if (num_retries > maximum_retries){message_t * drop_msg = call Queue.dequeue();drop(drop_msg); } The point is that I'm not sure if just dequeuing the message_t is enough. This message occupies a piece of memory space and this has to be freed. Am I right? Should I use the function free as in any C-based language when dynamic memory allocation is used? Thanks David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Eric B. Decker Senior (over 50 :-) Researcher ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Drop packets in TinyOS
Hi all I would like to know how to discard a message which is stored in a queue (component QueueC of message_t). To better explain this, lets suppose we have a maximum number of retries during we are trying to forward a data message. This is stored in a queue waiting for being transmitted. A failed transmission can occur due to collisions, interferences, etc. So when this maximum number is reached, the data message should be discarded, making this same procedure with the following message (head of the queue). Here there is a simple code of what I'm asking: maximum_retries = 3;num_retries = 0; if (num_retries > maximum_retries){message_t * drop_msg = call Queue.dequeue();drop(drop_msg);} The point is that I'm not sure if just dequeuing the message_t is enough. This message occupies a piece of memory space and this has to be freed. Am I right? Should I use the function free as in any C-based language when dynamic memory allocation is used? Thanks David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Sleeping in TKN154
I answer to myself. I was completely wrong! the node switch OFF instantly with RxOnDuration equal to 0. Sorry!! From: drod...@outlook.com To: tinyos-help@millennium.berkeley.edu Date: Fri, 23 Nov 2012 10:52:59 + Subject: Re: [Tinyos-help] Sleeping in TKN154 Hi Jan I have a simple question. If wanted to switch off the radio instantly, that is e.g., you are signaled a MCPS_DATA.confirm() event and then you desire to go to sleep, I suppose you would have to call MLME_RX_ENABLE with RxOnDuration equal to 0. However, as switching among power modes (e.g., RX --> TX; SLEEP --> RX...) takes some time (and energy), this parameter cannot be 0. In fact, if you enabled the tkn154 debug, the following would be executed: "dbg_serial("RxEnableP", "never actually managed to switch to Rx mode\n");". So, is there any other form to switch off the radio instantly than calling MLME_RX_ENABLE? or should RxOnDuration take a very small value (although the radio would be ON during a very short interval for later go to sleep)? Or I should add this functionality modifying RxEnable.nc as you pointed out in your first response? Thanks David From: drod...@outlook.com To: tinyos-help@millennium.berkeley.edu Date: Thu, 22 Nov 2012 16:00:00 + Subject: Re: [Tinyos-help] Sleeping in TKN154 Hi You were right. The problem was that I had macRxOnWhenIdle set to TRUE since the beginning of the app. The main reason is that I needed all nodes ON during a short time interval to conduct a network formation procedure. After that interval and once the network is formed, macRxOnWhenIdle should be set to FALSE because MLME_RX_ENABLE enables the receiver during the predefined ON period so you wouldn't have problems receiving information from other devices. Thanks Jan for your help David > Date: Thu, 22 Nov 2012 15:04:59 + > Subject: Re: [Tinyos-help] Sleeping in TKN154 > From: ha...@tkn.tu-berlin.de > To: drod...@outlook.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > I just did a small test and for me it worked, maybe you are > accidentally setting the macRxOnWhenIdle attribute to TRUE? You find > my test code below, e.g. copy into > apps/tests/tkn154/nonbeacon-enabled/TestActiveScan/coordinator/TestActiveScanCoordC > (and to verify set an LED in void offSpiReserved() and reset the same > LED in ReliableWait.waitRxDone(), in > tos/chips/cc2420_tkn154/CC2420TKN154P.nc). > > Jan > > > > event void Boot.booted() { > call MLME_RESET.request(TRUE); > } > > event void MLME_RESET.confirm(ieee154_status_t status) { > if (status != IEEE154_SUCCESS) > return; > call MLME_SET.macShortAddress(COORDINATOR_ADDRESS); > call MLME_SET.macAssociationPermit(FALSE); > //call MLME_SET.macRxOnWhenIdle(TRUE); > call MLME_START.request( > PAN_ID, // PANId > RADIO_CHANNEL,// LogicalChannel > 0,// ChannelPage, > 0,// StartTime, > 15, // BeaconOrder > 15, // SuperframeOrder > TRUE, // PANCoordinator > FALSE,// BatteryLifeExtension > FALSE,// CoordRealignment > NULL, // no realignment security > NULL // no beacon security > ); > } > > event void MLME_START.confirm(ieee154_status_t status) > { > call Led1Timer.startPeriodic(62500U); // fire timer every 1 sec > } > > event void MLME_RX_ENABLE.confirm( ieee154_status_t status) > { > if (status == IEEE154_SUCCESS) > call Leds.led0Toggle(); > } > > event void Led1Timer.fired() { > call MLME_RX_ENABLE.request(FALSE, 0, 31250); // enable RX for 0.5 sec > } > > > > On Wed, Nov 21, 2012 at 12:16 PM, David Rodenas wrote: > > Hi Jan > > > > I asked about switching off periodically the radio transceiver in order to > > plan a duty cycle. Then, you told me I should use the MLME_RX_ENABLE > > interface provided by the Ieee802154NonBeaconEnabledC component. Well, I've > > done that, I mean, I've set a timer which represents a wakeup interval that > > when it expires, it should activate the radio transceiver during a time > > interval equal to RxOnDuration. My problem is that I'm not really sure if > > this really works. The reason is that a mote acting as a receiver node > > receives data when it should be sleeping! Here a brief explanation of my > > te
Re: [Tinyos-help] Sleeping in TKN154
Hi Jan I have a simple question. If wanted to switch off the radio instantly, that is e.g., you are signaled a MCPS_DATA.confirm() event and then you desire to go to sleep, I suppose you would have to call MLME_RX_ENABLE with RxOnDuration equal to 0. However, as switching among power modes (e.g., RX --> TX; SLEEP --> RX...) takes some time (and energy), this parameter cannot be 0. In fact, if you enabled the tkn154 debug, the following would be executed: "dbg_serial("RxEnableP", "never actually managed to switch to Rx mode\n");". So, is there any other form to switch off the radio instantly than calling MLME_RX_ENABLE? or should RxOnDuration take a very small value (although the radio would be ON during a very short interval for later go to sleep)? Or I should add this functionality modifying RxEnable.nc as you pointed out in your first response? Thanks David From: drod...@outlook.com To: tinyos-help@millennium.berkeley.edu Date: Thu, 22 Nov 2012 16:00:00 + Subject: Re: [Tinyos-help] Sleeping in TKN154 Hi You were right. The problem was that I had macRxOnWhenIdle set to TRUE since the beginning of the app. The main reason is that I needed all nodes ON during a short time interval to conduct a network formation procedure. After that interval and once the network is formed, macRxOnWhenIdle should be set to FALSE because MLME_RX_ENABLE enables the receiver during the predefined ON period so you wouldn't have problems receiving information from other devices. Thanks Jan for your help David > Date: Thu, 22 Nov 2012 15:04:59 + > Subject: Re: [Tinyos-help] Sleeping in TKN154 > From: ha...@tkn.tu-berlin.de > To: drod...@outlook.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > I just did a small test and for me it worked, maybe you are > accidentally setting the macRxOnWhenIdle attribute to TRUE? You find > my test code below, e.g. copy into > apps/tests/tkn154/nonbeacon-enabled/TestActiveScan/coordinator/TestActiveScanCoordC > (and to verify set an LED in void offSpiReserved() and reset the same > LED in ReliableWait.waitRxDone(), in > tos/chips/cc2420_tkn154/CC2420TKN154P.nc). > > Jan > > > > event void Boot.booted() { > call MLME_RESET.request(TRUE); > } > > event void MLME_RESET.confirm(ieee154_status_t status) { > if (status != IEEE154_SUCCESS) > return; > call MLME_SET.macShortAddress(COORDINATOR_ADDRESS); > call MLME_SET.macAssociationPermit(FALSE); > //call MLME_SET.macRxOnWhenIdle(TRUE); > call MLME_START.request( > PAN_ID, // PANId > RADIO_CHANNEL,// LogicalChannel > 0,// ChannelPage, > 0,// StartTime, > 15, // BeaconOrder > 15, // SuperframeOrder > TRUE, // PANCoordinator > FALSE,// BatteryLifeExtension > FALSE,// CoordRealignment > NULL, // no realignment security > NULL // no beacon security > ); > } > > event void MLME_START.confirm(ieee154_status_t status) > { > call Led1Timer.startPeriodic(62500U); // fire timer every 1 sec > } > > event void MLME_RX_ENABLE.confirm( ieee154_status_t status) > { > if (status == IEEE154_SUCCESS) > call Leds.led0Toggle(); > } > > event void Led1Timer.fired() { > call MLME_RX_ENABLE.request(FALSE, 0, 31250); // enable RX for 0.5 sec > } > > > > On Wed, Nov 21, 2012 at 12:16 PM, David Rodenas wrote: > > Hi Jan > > > > I asked about switching off periodically the radio transceiver in order to > > plan a duty cycle. Then, you told me I should use the MLME_RX_ENABLE > > interface provided by the Ieee802154NonBeaconEnabledC component. Well, I've > > done that, I mean, I've set a timer which represents a wakeup interval that > > when it expires, it should activate the radio transceiver during a time > > interval equal to RxOnDuration. My problem is that I'm not really sure if > > this really works. The reason is that a mote acting as a receiver node > > receives data when it should be sleeping! Here a brief explanation of my > > test with pseudocode: > > > > start() // the app starts > > { > >initialize Rx_enable component (call Init.init();); > >start periodic wakeup interval wiTimer; > >call MLM_RX_ENABLE(RxOnDuration); > > } > > > >
Re: [Tinyos-help] Sleeping in TKN154
Hi You were right. The problem was that I had macRxOnWhenIdle set to TRUE since the beginning of the app. The main reason is that I needed all nodes ON during a short time interval to conduct a network formation procedure. After that interval and once the network is formed, macRxOnWhenIdle should be set to FALSE because MLME_RX_ENABLE enables the receiver during the predefined ON period so you wouldn't have problems receiving information from other devices. Thanks Jan for your help David > Date: Thu, 22 Nov 2012 15:04:59 + > Subject: Re: [Tinyos-help] Sleeping in TKN154 > From: ha...@tkn.tu-berlin.de > To: drod...@outlook.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > I just did a small test and for me it worked, maybe you are > accidentally setting the macRxOnWhenIdle attribute to TRUE? You find > my test code below, e.g. copy into > apps/tests/tkn154/nonbeacon-enabled/TestActiveScan/coordinator/TestActiveScanCoordC > (and to verify set an LED in void offSpiReserved() and reset the same > LED in ReliableWait.waitRxDone(), in > tos/chips/cc2420_tkn154/CC2420TKN154P.nc). > > Jan > > > > event void Boot.booted() { > call MLME_RESET.request(TRUE); > } > > event void MLME_RESET.confirm(ieee154_status_t status) { > if (status != IEEE154_SUCCESS) > return; > call MLME_SET.macShortAddress(COORDINATOR_ADDRESS); > call MLME_SET.macAssociationPermit(FALSE); > //call MLME_SET.macRxOnWhenIdle(TRUE); > call MLME_START.request( > PAN_ID, // PANId > RADIO_CHANNEL,// LogicalChannel > 0,// ChannelPage, > 0,// StartTime, > 15, // BeaconOrder > 15, // SuperframeOrder > TRUE, // PANCoordinator > FALSE,// BatteryLifeExtension > FALSE,// CoordRealignment > NULL, // no realignment security > NULL // no beacon security > ); > } > > event void MLME_START.confirm(ieee154_status_t status) > { > call Led1Timer.startPeriodic(62500U); // fire timer every 1 sec > } > > event void MLME_RX_ENABLE.confirm( ieee154_status_t status) > { > if (status == IEEE154_SUCCESS) > call Leds.led0Toggle(); > } > > event void Led1Timer.fired() { > call MLME_RX_ENABLE.request(FALSE, 0, 31250); // enable RX for 0.5 sec > } > > > > On Wed, Nov 21, 2012 at 12:16 PM, David Rodenas wrote: > > Hi Jan > > > > I asked about switching off periodically the radio transceiver in order to > > plan a duty cycle. Then, you told me I should use the MLME_RX_ENABLE > > interface provided by the Ieee802154NonBeaconEnabledC component. Well, I've > > done that, I mean, I've set a timer which represents a wakeup interval that > > when it expires, it should activate the radio transceiver during a time > > interval equal to RxOnDuration. My problem is that I'm not really sure if > > this really works. The reason is that a mote acting as a receiver node > > receives data when it should be sleeping! Here a brief explanation of my > > test with pseudocode: > > > > start() // the app starts > > { > >initialize Rx_enable component (call Init.init();); > >start periodic wakeup interval wiTimer; > >call MLM_RX_ENABLE(RxOnDuration); > > } > > > > MLME_RX_Enable.confirm() {} // It confirms that the radio is enabled > > > > wiTimer.fired () // the witimer expires > > { > >/* > > * Here I should call again MHME_RX_ENABLE with RxOnDuration. > > * call MLME_RX_ENABLE(RxOnDuration); > > * However, to this test, I do not make the call. As a result, the > > * radio should be disabled and the node cannot receive anything > > */ > > return; > > } > > > > recv() // receive data (MCPS_DATA.indication()) > > { > >// Here I have another node that periodically broadcasts a message. > >// When this message is received, it activates one of the receiver > > node'leds. > > } > > > > What am I considering that it's wrong? Does MHME_RX_ENABLE really work and > > after RxOnDuration, the radio goes to sleep mode? > > > > Thanks, > > > > David > > > > > > > >> Date: Wed, 14 Nov 2012 12:45:25 +0100 &g
Re: [Tinyos-help] Sleeping in TKN154
Hi Jan I asked about switching off periodically the radio transceiver in order to plan a duty cycle. Then, you told me I should use the MLME_RX_ENABLE interface provided by the Ieee802154NonBeaconEnabledC component. Well, I've done that, I mean, I've set a timer which represents a wakeup interval that when it expires, it should activate the radio transceiver during a time interval equal to RxOnDuration. My problem is that I'm not really sure if this really works. The reason is that a mote acting as a receiver node receives data when it should be sleeping! Here a brief explanation of my test with pseudocode: start() // the app starts{ initialize Rx_enable component (call Init.init();); start periodic wakeup interval wiTimer; call MLM_RX_ENABLE(RxOnDuration);} MLME_RX_Enable.confirm() {} // It confirms that the radio is enabled wiTimer.fired () // the witimer expires{ /** Here I should call again MHME_RX_ENABLE with RxOnDuration.* call MLME_RX_ENABLE(RxOnDuration);* However, to this test, I do not make the call. As a result, the * radio should be disabled and the node cannot receive anything*/return;} recv() // receive data (MCPS_DATA.indication()){ // Here I have another node that periodically broadcasts a message.// When this message is received, it activates one of the receiver node'leds.} What am I considering that it's wrong? Does MHME_RX_ENABLE really work and after RxOnDuration, the radio goes to sleep mode? Thanks, David > Date: Wed, 14 Nov 2012 12:45:25 +0100 > Subject: Re: [Tinyos-help] Sleeping in TKN154 > From: ha...@tkn.tu-berlin.de > To: drod...@outlook.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > there are two places where you can implement such duty-cycling: (a) on > top of the MAC: your component would wire to MLME_RX_ENABLE interface > provided by Ieee802154NonBeaconEnabledC and you would have a periodic > timer that fires at the desired ON-Time. In the event-handler you > would call MLME_RX_ENABLE with a "RxOnDuration" parameter matching > your ON-time interval. If timers are not accurate enough for you > (because they fire in task context), you (b) could use Alarms instead. > Then you would have to modify the MAC. You could extend RxEnableP with > your own async duty-cycle configuration interface and also modify its > interface towards DispatchUnslottedCsmaP (which you would also have to > extend / make async). Unless you need such accurate timing, you'd > probably go for option (a) -> you can make some tests to find out > when the radio actually changed state (to see if it satisfies your > timing requirements): just set the "tkn154debug" flag and you will get > statistics via printf (see apps/tests/tkn154/README.txt for details). > > Jan > > On Wed, Nov 14, 2012 at 11:32 AM, David Rodenas wrote: > > Hi all > > > > I am interseted in programming a duty-cycling scheme by making use of the > > TKN154 libraries. In particular, I want to induce the motes to periods of > > activity (ON) and inactivity (OFF) over the IEEE 802.15.4 non-beacon mode. > > As example: > > > > ||++-++-++--- > > ||+ ON | OFF | ON | OFF > > | ON | OFF... > > ||++-++-++--- > > ||+IEEE 802.15.4 NON-BEACON MODE > > ... > > ||+- > > > > My problem is not how to sinchronize nodes for transmission and reception; > > it's knowing which components or libraries can I use to control de CC2420, > > and switch the radio ON/OFF periodocally. I've been trying to figure out how > > to do it through the LowPowerListening component (but I cannot use it > > because my protocol does not requires the transmission of preambles), or > > taking shots in the dark with the TKN files at /tos/lib/mac/tkn154, but I am > > completely lost. > > > > Please, any help possible would be appreciated. > > > > Thanks > > > > David > > > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Sleeping in TKN154
Hi Jan your reply is highly appreciated. For know, I don't need accurate timing, only handle the duty cycle scheme, so I choose option (a). Thanks again, David > Date: Wed, 14 Nov 2012 12:45:25 +0100 > Subject: Re: [Tinyos-help] Sleeping in TKN154 > From: ha...@tkn.tu-berlin.de > To: drod...@outlook.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > there are two places where you can implement such duty-cycling: (a) on > top of the MAC: your component would wire to MLME_RX_ENABLE interface > provided by Ieee802154NonBeaconEnabledC and you would have a periodic > timer that fires at the desired ON-Time. In the event-handler you > would call MLME_RX_ENABLE with a "RxOnDuration" parameter matching > your ON-time interval. If timers are not accurate enough for you > (because they fire in task context), you (b) could use Alarms instead. > Then you would have to modify the MAC. You could extend RxEnableP with > your own async duty-cycle configuration interface and also modify its > interface towards DispatchUnslottedCsmaP (which you would also have to > extend / make async). Unless you need such accurate timing, you'd > probably go for option (a) -> you can make some tests to find out > when the radio actually changed state (to see if it satisfies your > timing requirements): just set the "tkn154debug" flag and you will get > statistics via printf (see apps/tests/tkn154/README.txt for details). > > Jan > > On Wed, Nov 14, 2012 at 11:32 AM, David Rodenas wrote: > > Hi all > > > > I am interseted in programming a duty-cycling scheme by making use of the > > TKN154 libraries. In particular, I want to induce the motes to periods of > > activity (ON) and inactivity (OFF) over the IEEE 802.15.4 non-beacon mode. > > As example: > > > > ||++-++-++--- > > ||+ ON | OFF | ON | OFF > > | ON | OFF... > > ||++-++-++--- > > ||+IEEE 802.15.4 NON-BEACON MODE > > ... > > ||+- > > > > My problem is not how to sinchronize nodes for transmission and reception; > > it's knowing which components or libraries can I use to control de CC2420, > > and switch the radio ON/OFF periodocally. I've been trying to figure out how > > to do it through the LowPowerListening component (but I cannot use it > > because my protocol does not requires the transmission of preambles), or > > taking shots in the dark with the TKN files at /tos/lib/mac/tkn154, but I am > > completely lost. > > > > Please, any help possible would be appreciated. > > > > Thanks > > > > David > > > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Sleeping in TKN154
Hi all I am interseted in programming a duty-cycling scheme by making use of the TKN154 libraries. In particular, I want to induce the motes to periods of activity (ON) and inactivity (OFF) over the IEEE 802.15.4 non-beacon mode. As example: ||++-++-++---||+ ON | OFF | ON | OFF | ON | OFF ...||++-++-++---||+ IEEE 802.15.4 NON-BEACON MODE ...||+- My problem is not how to sinchronize nodes for transmission and reception; it's knowing which components or libraries can I use to control de CC2420, and switch the radio ON/OFF periodocally. I've been trying to figure out how to do it through the LowPowerListening component (but I cannot use it because my protocol does not requires the transmission of preambles), or taking shots in the dark with the TKN files at /tos/lib/mac/tkn154, but I am completely lost. Please, any help possible would be appreciated. Thanks David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] make: uisp: command not found (MicaZ and TinyOS 2.1.2)
Hi Andras As I said, I got the uisp package from the http://recolog.blogspot.com.es/2011/07/running-tikiridb-with-micaz-motes.html. In particular, it seems to me that the owner of the page has updloaded this package to a personal host: http://azadeha.at.ifi.uio.no/uisp.tar.gz. I downloaded it, installed and it works perfect. Regarding the version of my tinyos-tools, it is the latest one, which corresponds to the TinyOS-2.1.2 version (I do not remember if the repository is the tiny-prod, managed by Eric Decker I think...). What I can say is that this TinyOS version lacks of this package and also it should be part of the tinyos-tools. Regards David > Date: Mon, 29 Oct 2012 15:01:43 +0100 > Subject: Re: [Tinyos-help] make: uisp: command not found (MicaZ and TinyOS > 2.1.2) > From: andras.b...@unicomp.hu > To: drod...@outlook.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > You were right. Uisp should be part of tinyos-tools, did you > installled it? If you did, what repository did you used? What's the > version of your tinyos-tools? > > Andris > > On Mon, Oct 29, 2012 at 10:26 AM, David Rodenas wrote: > > Thanks Eric, I thought that problem didn't have nothing to do with ubuntu > > packages. In any case, after installing the uisp package, I got the > > following error: "Direct Parallel Access not defined". > > > > Thereby, I looked for any solution and I found out the following web page: > > http://recolog.blogspot.com.es/2011/07/running-tikiridb-with-micaz-motes.html. > > Here, the owner of the page explains how to solve this same issue. Hence, > > anyone that has this problem, check that page. > > > > Now it works. Again, thanks. > > > > David > > > > > > > > > > Date: Mon, 29 Oct 2012 02:01:06 -0700 > > Subject: Re: [Tinyos-help] make: uisp: command not found (MicaZ and TinyOS > > 2.1.2) > > From: cire...@gmail.com > > To: drod...@outlook.com > > CC: tinyos-help@millennium.berkeley.edu > > > > > > > > you are missing the program "uisp": Universal In-System Programmer. > > > > try: sudo apt-get install uisp > > > > in the future if you are looking for something, try > > http://packages.ubuntu.com > > > > > > On Mon, Oct 29, 2012 at 1:48 AM, David Rodenas wrote: > > > > Hi all > > > > I am getting the following error on TinyOS-2.1.2 (installed on Ubuntu 12.04) > > when I try to install any app on MicaZ. For example, with Blink: > > > > --- > > $ make micaz install mib520,/dev/ttyUSB0 > > mkdir -p build/micaz > > compiling BlinkAppC to a micaz binary > > ncc -o build/micaz/main.exe -Os -fnesc-separator=__ -Wall -Wshadow > > -Wnesc-all -target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb > > -DDEFINED_TOS_AM_GROUP=0x22 --param max-inline-insns-single=10 > > -DIDENT_APPNAME=\"BlinkAppC\" -DIDENT_USERNAME=\"user\" > > -DIDENT_HOSTNAME=\"user-vbox\" -DIDENT_USERHASH=0x41040a3eL > > -DIDENT_TIMESTAMP=0x508e415dL -DIDENT_UIDHASH=0xfb0b11caL -fnesc-dump=wiring > > -fnesc-dump='interfaces(!abstract())' -fnesc-dump='referenced(interfacedefs, > > components)' -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkAppC.nc -lm > > compiled BlinkAppC to build/micaz/main.exe > > 2044 bytes in ROM > > 51 bytes in RAM > > avr-objcopy --output-target=srec build/micaz/main.exe build/micaz/main.srec > > avr-objcopy --output-target=ihex build/micaz/main.exe build/micaz/main.ihex > > writing TOS image > > cp build/micaz/main.srec build/micaz/main.srec.out > > installing micaz binary using mib510 > > uisp -dprog=mib510 -dserial=/dev/ttyUSB0 --wr_fuse_h=0xd9 -dpart=ATmega128 > > --wr_fuse_e=ff --erase --upload if=build/micaz/main.srec.out --verify > > make: uisp: Command not found > > make: *** [program] Error 127 > > --- > > > > Any idea? All the help possible is appreciated. > > > > Regards, > > > > David > > > > > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > > > > > > > > > -- > > Eric B. Decker > > Senior (over 50 :-) Researcher > > > > > > > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] make: uisp: command not found (MicaZ and TinyOS 2.1.2)
Thanks Eric, I thought that problem didn't have nothing to do with ubuntu packages. In any case, after installing the uisp package, I got the following error: "Direct Parallel Access not defined". Thereby, I looked for any solution and I found out the following web page: http://recolog.blogspot.com.es/2011/07/running-tikiridb-with-micaz-motes.html. Here, the owner of the page explains how to solve this same issue. Hence, anyone that has this problem, check that page. Now it works. Again, thanks. David Date: Mon, 29 Oct 2012 02:01:06 -0700 Subject: Re: [Tinyos-help] make: uisp: command not found (MicaZ and TinyOS 2.1.2) From: cire...@gmail.com To: drod...@outlook.com CC: tinyos-help@millennium.berkeley.edu you are missing the program "uisp": Universal In-System Programmer. try: sudo apt-get install uisp in the future if you are looking for something, try http://packages.ubuntu.com On Mon, Oct 29, 2012 at 1:48 AM, David Rodenas wrote: Hi all I am getting the following error on TinyOS-2.1.2 (installed on Ubuntu 12.04) when I try to install any app on MicaZ. For example, with Blink: --- $ make micaz install mib520,/dev/ttyUSB0mkdir -p build/micazcompiling BlinkAppC to a micaz binaryncc -o build/micaz/main.exe -Os -fnesc-separator=__ -Wall -Wshadow -Wnesc-all -target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb -DDEFINED_TOS_AM_GROUP=0x22 --param max-inline-insns-single=10 -DIDENT_APPNAME=\"BlinkAppC\" -DIDENT_USERNAME=\"user\" -DIDENT_HOSTNAME=\"user-vbox\" -DIDENT_USERHASH=0x41040a3eL -DIDENT_TIMESTAMP=0x508e415dL -DIDENT_UIDHASH=0xfb0b11caL -fnesc-dump=wiring -fnesc-dump='interfaces(!abstract())' -fnesc-dump='referenced(interfacedefs, components)' -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkAppC.nc -lm compiled BlinkAppC to build/micaz/main.exe2044 bytes in ROM 51 bytes in RAMavr-objcopy --output-target=srec build/micaz/main.exe build/micaz/main.srec avr-objcopy --output-target=ihex build/micaz/main.exe build/micaz/main.ihex writing TOS imagecp build/micaz/main.srec build/micaz/main.srec.out installing micaz binary using mib510 uisp -dprog=mib510 -dserial=/dev/ttyUSB0 --wr_fuse_h=0xd9 -dpart=ATmega128 --wr_fuse_e=ff --erase --upload if=build/micaz/main.srec.out --verifymake: uisp: Command not found make: *** [program] Error 127--- Any idea? All the help possible is appreciated. Regards, David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Eric B. Decker Senior (over 50 :-) Researcher ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] make: uisp: command not found (MicaZ and TinyOS 2.1.2)
Hi all I am getting the following error on TinyOS-2.1.2 (installed on Ubuntu 12.04) when I try to install any app on MicaZ. For example, with Blink: ---$ make micaz install mib520,/dev/ttyUSB0mkdir -p build/micazcompiling BlinkAppC to a micaz binaryncc -o build/micaz/main.exe -Os -fnesc-separator=__ -Wall -Wshadow -Wnesc-all -target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb -DDEFINED_TOS_AM_GROUP=0x22 --param max-inline-insns-single=10 -DIDENT_APPNAME=\"BlinkAppC\" -DIDENT_USERNAME=\"user\" -DIDENT_HOSTNAME=\"user-vbox\" -DIDENT_USERHASH=0x41040a3eL -DIDENT_TIMESTAMP=0x508e415dL -DIDENT_UIDHASH=0xfb0b11caL -fnesc-dump=wiring -fnesc-dump='interfaces(!abstract())' -fnesc-dump='referenced(interfacedefs, components)' -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkAppC.nc -lm compiled BlinkAppC to build/micaz/main.exe2044 bytes in ROM 51 bytes in RAMavr-objcopy --output-target=srec build/micaz/main.exe build/micaz/main.srecavr-objcopy --output-target=ihex build/micaz/main.exe build/micaz/main.ihexwriting TOS imagecp build/micaz/main.srec build/micaz/main.srec.outinstalling micaz binary using mib510uisp -dprog=mib510 -dserial=/dev/ttyUSB0 --wr_fuse_h=0xd9 -dpart=ATmega128 --wr_fuse_e=ff --erase --upload if=build/micaz/main.srec.out --verifymake: uisp: Command not foundmake: *** [program] Error 127--- Any idea? All the help possible is appreciated. Regards, David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Sending/Receiving Video with TelosB
Hi Sean you should do any previous research to be aware of the current advances and limitations with regard to the video transmission with wireless sensor networks. Search papers with the following topic: "wireless multimedia sensor networks". Then, you might find out valuable answers for your concerns. In particular, transmitting multimedia information requires high energy and computational resources. If you want to transmit video, you might need any special hardware or software to conduct the compression of the images (according with any standard, e.g., H264, JPEG2000, etc.) captured by the video sensor. In this sense, you shoud take care of the image format (CIF, QCIF...), the memory storage of telosb in order to store the images, etc... Again, you need a serial background. Good luck, David Date: Thu, 18 Oct 2012 14:02:21 +0200 From: sean.dek...@gmx.com To: tinyos-help@millennium.berkeley.edu; tinyos-help-requ...@millennium.berkeley.edu Subject: [Tinyos-help] Sending/Receiving Video with TelosB Hi everyone, Do you think it is possible to send/receive video with any quality between TelosB motes? Here is the scenario: There is a TelosB connected to PC using USB (serial port obviously) and there is another TelosB that has a digital cammra attached to it (using the 10 pin header). Do you think this scenario is practical, considering the data rate and other criterias? Regards, Sean. ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] FW: Lotus
Hi Fabio I asked the same question at http://www.mail-archive.com/tinyos-help@millennium.berkeley.edu/msg41257.html. To the best of my knowledge, there is still no current drivers for lotus devices though it would be fine. I am not at that level to develop its drivers so the only thing you can do is wait for it, or start doing it yourself. Bye David Date: Wed, 19 Sep 2012 09:41:16 +0200 From: fabio.d.giuse...@gmail.com To: tinyos-help@millennium.berkeley.edu Subject: [Tinyos-help] Lotus Hi guys, I would like to use TinyOS on the Memsic Lotus platform to use CoAP and DTLS for a small distributed application. Is it fairly supported? Also, has anybody used Lotusview? In the manual Memsic claims that the application is based on TinyOS, while I have found on this forum that it's not well supported and drivers were still missing in May. Thanks a lot -- Fabio Di Giuseppe ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] TKN154: What I am receiving?
Hi all Sorry for the length, but I thing that it was necessary to explain my concern. I've programmed a telosb acting as a transmitter that sends periodically a broadcast message to another telosb acting as a network coordinator (and also as a reciver). I am using the TKN154 libraries. The main network parameters are: RADIO CHANNEL is 26,PAN ID is 0x4927,COORDINATOR ADDRESS is 0x6287,DEVICE ADDRESS is 0x6245,TRANSMISSION is broadcast (daddr is 0x). The payload contains two fields: 1) the device address (0x6287) and 2) four uint16_t values as network data (0x2301 0x2302 0x2303 0x2304) The coordinator app is based on the packetsniffer app (apps/tests/tkn154) with some modifications. What I want is to send every data frame received by the coordinator through the serial port to my laptop. Thereby, here is the part of the code that conducts this issue: event message_t* MCPS_DATA.indication ( message_t* frame_ ){ call Leds.led1Toggle(); if (call Queue.enqueue(frame_) != SUCCESS) {call Leds.led0On(); // overflowreturn frame_; } else {post serialSendTask();return call Pool.get(); }} task void serialSendTask() { message_t* frame; uint8_t headerLen; uint8_t payloadLen; uint8_t serialLen; uint8_t *header; uint8_t *payload; uint8_t i; if (call Queue.empty() || m_serialSendBusy)return;frame = call Queue.head(); headerLen = call Frame.getHeaderLength(frame); payloadLen = call Frame.getPayloadLength(frame); header = call Frame.getHeader(frame); payload = call Frame.getPayload(frame); /* // Test 1: printf printf("MHRLen: %d\n", headerLen); printf("MHR: "); for (i=0; i___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Does TinyOS dist from http://tinyos.stanford.edu/tinyos/dists/ubuntu support TelosB motes?
Hi Erik thanks, your email was really useful. As you say, what I did was rocket science, but I could not be able to find another solution because of my poor knowledge of linux. Bye David Date: Fri, 27 Jul 2012 02:25:36 -0700 Subject: Re: [Tinyos-help] Does TinyOS dist from http://tinyos.stanford.edu/tinyos/dists/ubuntu support TelosB motes? From: cire...@gmail.com To: drod...@hotmail.com CC: tinyos-help@millennium.berkeley.edu On Fri, Jul 27, 2012 at 12:55 AM, David Rodenas wrote: Hi all I have the latest version of tinyos (from tinyos trunk) with telosb working together. I found the solution after several instalations and looking into the following threads: Cool. Be aware that David is doing an installation of the Released T2.1.1 (which is getting pretty dated at this point) and ALSO the development trunk which is about to be released as T2.1.2. Installing both isn't usual, I'd actually recommend installing from the TinyProd (master Branch) on github which is a snapshot from the TinyOS development trunk. The master branch will always follow the current (latest) full release of TinyOS. In this case the upcoming T2.1.2 release. MSP430 toolchains come in various flavors because it has gotten extensively reworked by Peter Bigot (this is a good thing). The Release T2.1.1 code builds with the older msp430 toolchain (3.2.3, now called legacy). The legacy toolchain installs into the /usr heirarchy. The Development Trunk builds with the newer msp430 4.6.3 toolchain (now called -46). The -46 toolchain installs into /opt/msp430-46. What I've done is the following (using a Ubuntu 10.04 LTS) - Please read them carefully before doing anything -: 11.10 is recommended at this point. I've also used 10.04, 10.10 and am currently using 11.10. All my current testing and operational use has been on 11.10. If you are setting up a new system, use 11.10 (Oneric) or give 12.04 a try. It should work, but hasn't been tested. Be warned, the following will remove your existing packages named nesc, and anything with tinyos in its package name. This includes any installation of tinyos-2.1.1 you might have. If you don't want that to happen remove the packages one by one by hand. $ sudo dpkg -P `dpkg -l nesc '*tinyos*' | grep ^ii | awk '{ print $2 }' | xargs`$ sudo apt-get clean It is better to add the deb lines into /etc/apt/sources.d/tinyprod-debian.list as described in the README. Just to keep things seperate. apt-get update will automatically find the additions. $ sudo gedit /etc/apt/sources.list deb http://tinyprod.net/repos/debian squeeze maindeb http://tinyprod.net/repos/debian msp430-46 main $ sudo apt-get update be aware that the packages on tinyprod.net are signed with my key, which you are installing below. The packages on stanford have not been signed (the last I looked). This can potentially be a security problem if you are using unsigned packages from stanford. $ gpg --keyserver keyserver.ubuntu.com --recv-keys 34EC655A $ gpg -a --export 34EC655A | sudo apt-key add -$ apt-get install tinyos-2.1.1 nesc tinyos-tools msp430-tinyos-legacy avr-tinyos$ sudo gedit $HOME/.bashrc source /opt/tinyos-2.1.1/tinyos.sh $ sudo chown -R /opt/tinyos-2.1.1 This completes the installation of the old T2.1.1 release and the legacy tools. Your PATH variable typically includes /usr/bin and since this is where the legacy tools get installed, the toolchain that gets used comes from /usr/bin when you build T2 apps. Now, if you go to $TOSROOT/apps/Blink, and do make telosb, it should work. The remainder is installing the development trunk code and required tools. However, I recommend you have the latest instalation of tinyos, so (first steps retrieved from http://docs.tinyos.net/tinywiki/index.php/Installing_from_SVN/GIT): $ cd $HOME$ mkdir -p local/src$ cd local/src$ svn checkout http://tinyos-main.googlecode.com/svn/trunk/ tinyos-2.x You can also use git (which I recommend, it's a better fit for how T2 development seems to be working): cd local/srcgit clone git://github.com/tinyprod/prod.git tinyos-2.x The s/w will be in local/src/tinyos-2.x and you will be on the master branch from the tinyprod/prod repository. You will have to modify the environment variables to set TOSDIR and TOSROOT correctly. See the script tinyos.sh in /opt/tinyos-2.1.1 for details about what gets set. (now, I made a backup of everything within the tinyos-2.1.1 directory, and after that, I deleted everything except the tinyos.sh file) You don't need to do any of this. Change the environment variables for TOSROOT and TOSDIR as needed to point to your local copy of the source code. You really don't want to mess with /opt/tinyos-2.1.1 because for one thing it was installed as a package. It won't hurt anything but is weird and is a whole bunch of extra steps. You really don't need t
Re: [Tinyos-help] Does TinyOS dist from http://tinyos.stanford.edu/tinyos/dists/ubuntu support TelosB motes?
Hi all I have the latest version of tinyos (from tinyos trunk) with telosb working together. I found the solution after several instalations and looking into the following threads: http://www.mail-archive.com/tinyos-help@millennium.berkeley.edu/msg41701.html http://www.mail-archive.com/shimmer-users@eecs.harvard.edu/msg00411.html What I've done is the following (using a Ubuntu 10.04 LTS) - Please read them carefully before doing anything -: $ sudo dpkg -P `dpkg -l nesc '*tinyos*' | grep ^ii | awk '{ print $2 }' | xargs`$ sudo apt-get clean$ sudo gedit /etc/apt/sources.listdeb http://tinyprod.net/repos/debian squeeze maindeb http://tinyprod.net/repos/debian msp430-46 main$ sudo apt-get update$ gpg --keyserver keyserver.ubuntu.com --recv-keys 34EC655A$ gpg -a --export 34EC655A | sudo apt-key add -$ apt-get install tinyos-2.1.1 nesc tinyos-tools msp430-tinyos-legacy avr-tinyos$ sudo gedit $HOME/.bashrcsource /opt/tinyos-2.1.1/tinyos.sh $ sudo chown -R /opt/tinyos-2.1.1 Now, if you go to $TOSROOT/apps/Blink, and do make telosb, it should work. However, I recommend you have the latest instalation of tinyos, so (first steps retrieved from http://docs.tinyos.net/tinywiki/index.php/Installing_from_SVN/GIT): $ cd $HOME$ mkdir -p local/src$ cd local/src$ svn checkout http://tinyos-main.googlecode.com/svn/trunk/ tinyos-2.x (now, I made a backup of everything within the tinyos-2.1.1 directory, and after that, I deleted everything except the tinyos.sh file) $ cd local/src/tinyos-2.x$ cp -r * /opt/tinyos-2.1.1/$ cd /opt/tinyos-2.1.1/tools$ ./Bootstrap$ ./configure --prefix=$HOME/local$ make all$ make install At this point, you have the latest version of tinyos, but now, "make telosb" does not work. The reason is that you need the msp430-46 toolchain: $ sudo apt-get install msp430-46$ cd /usr (where the directory msp430 is, maybe /usr/local)$ mv msp430 msp430-gcc-3.2.3$ ln -s /opt/msp430-46 msp430$ cd /usr/bin$ rm msp430-*$ ln -s ../msp430/bin/* . And that's all. This finally worked for me. I wish you luck. David Date: Thu, 26 Jul 2012 23:00:15 -0700 From: cire...@gmail.com To: gary.lee1...@gmail.com CC: tinyos-help@millennium.berkeley.edu Subject: Re: [Tinyos-help] Does TinyOS dist from http://tinyos.stanford.edu/tinyos/dists/ubuntu support TelosB motes? On Thu, Jul 26, 2012 at 8:56 PM, Gary Lee wrote: Thanks for your reply. Could you let me know how to install *-legacy packages, where the 3.2.3 compiler lives now from stanford. Read the rest of the email. I already told you. Follow the links. Go read the README at tinyprod.net/repos/debian On Thu, Jul 26, 2012 at 12:17 AM, Eric Decker wrote: On Wed, Jul 25, 2012 at 8:49 PM, Gary Lee wrote: "make telosb" works before. when I run "ncc --version -target=telosb", I got ncc: 1.2.4 nescc: 1.3.4 msp430-gcc: msp430-gcc (GCC) 4.5.3 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Prior to updating the tools from dists/ubuntu, I strongly suspect you had the 3.2.3 compiler. Because it worked. When you updated the tools again you got the 4.5.3 compiler which is incompatible with the T2.1.1 release code you have in /opt/tinyos-2.1.1. Try installing the *-legacy packages, it is where the 3.2.3 compiler lives now. I beleive they are in the dists/ubuntu repository at stanford. They also exist in the tinyprod repository at http://tinyprod.net/repos/debian/ On Wed, Jul 25, 2012 at 10:41 PM, Eric Decker wrote: On Wed, Jul 25, 2012 at 8:26 PM, Gary Lee wrote: Hi, I have installed TinyOS 2.1.1 from http://tinyos.stanford.edu/tinyos/dists/ubuntu many times. Did "make telosb" work before? recently, when I installed from http://tinyos.stanford.edu/tinyos/dists/ubuntu again, when I run "make micaz", it works fine. However, when I run "make telosb", lots of errors. what does the output of ncc --version -target=telosb say? Any help? Thanks a lot, Gary ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Eric B. Decker Senior (over 50 :-) Researcher -- Eric B. Decker Senior (over 50 :-) Researcher -- Eric B. Decker Senior (over 50 :-) Researcher ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Collision detection at transmitter.
Hi all I recommend you do some research about Aloha in ISO 18000-7. I have no idea of this recommended practice of yours, but this is the usual procedure of a CSMA-CA mechanism. At the best of my knowledge, a node acting as a transmitter cannot detect a collision, so what this node does is the following: 1) This node is willing to transmit so it listens to the channel a number of CCA time intevals (e.g., in IEEE 802.15.4 non-beacon mode, is one while in the beacon mode, this number is two).2) If the channel is free, it transmits. Otherwise (it detects a transmission within its coverage range), it delays its own transmission a backoff time (random time), after which a new attempt of retransmission is conducted.3) If the channel was free (your case), but your transmission has collided (e.g., due to hidden nodes), it depends on which type of transmission are you carrying out. For instante, if you are using an unicast transmission with acknowledgment, the fact that you don't receive the ack from the receiver (after a particular time interval) tells the transmitter that it was any kind of fail, and it considers its transmission as a collision. In this case, the transmitter sets another backoff time (provided that a maximum number of retransmissions have not been already done). An! other example is a broadcast transmission. In this type, the ack frames are not required, so if the transmission collided, it depends on your protocol: 1) you broadcast something and waits for any action to be done, so you detect a possible problem (maybe a collision); 2) you broadcast something to share some kind of information but you don't expect anything, so the collision is not detected. Regads, David Date: Tue, 24 Jul 2012 23:08:23 -0700 From: cire...@gmail.com To: pnk...@naver.com CC: tinyos-help@millennium.berkeley.edu Subject: Re: [Tinyos-help] Collision detection at transmitter. On Tue, Jul 24, 2012 at 10:35 PM, 최익성 wrote: Dear Eric Decker. Thank you very much for your kind explanation. I know that the collision detection is not required in CSMA/CA. Is there any way to detect the collision at transmitter? Not that I am aware of. The issue is whether the h/w can can hear itself when transmitting. I don't think the cc2420 has the capabililtiy and with out hearself then doing collision detection becomes problematic. In case of slotted aloha in ISO 18000-7, do we need detect the collision only at receiver? No idea. I'm not familar with slotted aloha. A collision seen at a receiver can show up in various ways. I don't know if that means that the receiver can reliably determine that a collision has taken place. Regardless, I don't see how the receiver detecting a collision can in any reasonable fashion impact the operation of the transmitter. The transmitter needs to detect the collision. If you must do a protocol that requires reliable collision detection, you must select your radio h/w such that CD is supported. Thank you very much. Sincerely Yours, Ick-Sung Choi. -Original Message- From: "Eric Decker" To: "최익성"; Cc: ; Sent: 2012-07-25 (수) 13:25:52 Subject: Re: [Tinyos-help] Collision detection at transmitter. On Tue, Jul 24, 2012 at 6:56 PM, 최익성 wrote: Dear tinyos developers. I have a basic question about collision detection at transmitter. Its CSMA/CA not CSMA/CD so it is collision avoidance. In CSMA/CA, transmitter transmits the frame. If there is a collision, the transmitter tries to transmit the frame after random backoff time. How can the transmitter detects the collision? Typically this kind of thing is implemented in h/w. You don't specify what h/w you are using... (Yes, it would have been helpful if you told us the specifics of what h/w you are using). So I'm assuming the telosb with the cc2420 radio. the cc2420 hardware does Clear Channel Assessment and provides status bits that tell the driver what is happening. I believe if the channel is busy it is up to the driver to handle the back off. I would suggest you take a look at the cc2420 manual (pg 50) and look at the cc2420 driver where it deals with CCA and possibly the STXONCCA command strobe. Thank you very much. Sincerely Yours, Ick-Sung Choi. ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Eric B. Decker Senior (over 50 :-) Researcher -- Eric B. Decker Senior (over 50 :-) Researcher ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley
Re: [Tinyos-help] TKN15.4 issue: problem receiving ack
Hi again I was totally wrong!! I respond to myself in case anyone had this problem/mistake in the future. When a PAN works in nonbeacon-enabled mode, nodes must set the macRxOnWhenIdle parameter to one in order to be able to receive data (unicast, broadcast...) and acknowledge it accordingly (when necessary). Therefore, I don't have to use the promiscuous mode to receive whatever, just because the transmitter is not ON, only the receiver circuitry. I should read more carefully the IEEE 802.15.4 standard for the next time! Anyway, thanks! David From: drod...@hotmail.com To: tinyos-help@millennium.berkeley.edu Date: Thu, 17 May 2012 11:27:44 + Subject: [Tinyos-help] TKN15.4 issue: problem receiving ack Hi all I am working with the TKN15.4 libraries, the TinyOS implementation of the IEEE 802.15.4 standard. In particular, I am doing some tests with the non-beacon mode of this implementation. I've modified the TestIndirectData app (tinyos-2.x/apps/tests/tkn154/nonbeacon-enabled/TestIndirectData) aimed at performing a direct transmission instead of an indirect transmission. In this sense, I've done the following (a few) changes in the code: 1) The device acts as receiver node. It does not perform any polling process, only switches to receiver state (promiscuous mode) listening to incomming transmissions. TestIndirectDataDeviceAppC.ncconfiguration TestIndirectDataDeviceAppC{} implementation { [...]App.PromiscuousMode -> MAC; //add} TestIndirectDataDeviceC.ncmodule TestIndirectDataDeviceC{ uses {[...]interface SplitControl as PromiscuousMode; //add }} implementation { [...]void startApp() { [...] // call PollTimer.startPeriodic(62500U);call PromiscuousMode.start(); // add }[...] // event void PromiscuousMode.startDone(error_t error) { } event void PromiscuousMode.stopDone(error_t error) { } // } 2) The coordinator is who transmits data. Only modifications of txOptions in the MCPS_DATA.request has been done: TestIndirectDataCoordC.ncmodule TestIndirectDataDeviceC{} implementation { [...]void sendIndirectData(){ [...]call MCPS_DATA.request( &frame, // frame, strlen(payload), // payloadLength, 0, // msduHandle, // TX_OPTIONS_INDIRECT | TX_OPTIONS_ACK // TxOptions, TX_OPTIONS_ACK // TxOptions,);[...] }[...] event void MCPS_DATA.confirm( message_t *msg, uint8_t msduHandle, ieee154_status_t status, uint32_t Timestamp) { [...]//else if(status == IEEE154_NO_ACK){ call Leds.led2On(); }// }[...] } Taking in account the aforementioned, the message is actually received by the device, but coordinator's led2On indicates to me that any ack has been transmitted or received. What am I doing wrong? All the help possible would be appreciated. Thanks! David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] TKN15.4 issue: problem receiving ack
Hi all I am working with the TKN15.4 libraries, the TinyOS implementation of the IEEE 802.15.4 standard. In particular, I am doing some tests with the non-beacon mode of this implementation. I've modified the TestIndirectData app (tinyos-2.x/apps/tests/tkn154/nonbeacon-enabled/TestIndirectData) aimed at performing a direct transmission instead of an indirect transmission. In this sense, I've done the following (a few) changes in the code: 1) The device acts as receiver node. It does not perform any polling process, only switches to receiver state (promiscuous mode) listening to incomming transmissions. TestIndirectDataDeviceAppC.ncconfiguration TestIndirectDataDeviceAppC{} implementation { [...]App.PromiscuousMode -> MAC; //add} TestIndirectDataDeviceC.ncmodule TestIndirectDataDeviceC{ uses {[...]interface SplitControl as PromiscuousMode; //add }} implementation { [...]void startApp() { [...] // call PollTimer.startPeriodic(62500U);call PromiscuousMode.start(); // add }[...] // event void PromiscuousMode.startDone(error_t error) { } event void PromiscuousMode.stopDone(error_t error) { } // } 2) The coordinator is who transmits data. Only modifications of txOptions in the MCPS_DATA.request has been done: TestIndirectDataCoordC.ncmodule TestIndirectDataDeviceC{} implementation { [...]void sendIndirectData(){ [...]call MCPS_DATA.request( &frame, // frame, strlen(payload), // payloadLength, 0, // msduHandle, // TX_OPTIONS_INDIRECT | TX_OPTIONS_ACK // TxOptions, TX_OPTIONS_ACK // TxOptions,);[...] }[...] event void MCPS_DATA.confirm( message_t *msg, uint8_t msduHandle, ieee154_status_t status, uint32_t Timestamp) { [...]//else if(status == IEEE154_NO_ACK){ call Leds.led2On(); }// }[...] } Taking in account the aforementioned, the message is actually received by the device, but coordinator's led2On indicates to me that any ack has been transmitted or received. What am I doing wrong? All the help possible would be appreciated. Thanks! David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] LOTUS devices manufactured by MEMSIC VS TinyOS
Hi Thanks a lot for your answers. They're really helpful. Bye! > From: thomas.sch...@utah.edu > Date: Thu, 10 May 2012 09:21:11 -0600 > Subject: Re: [Tinyos-help] LOTUS devices manufactured by MEMSIC VS TinyOS > To: sal...@isis.vanderbilt.edu > CC: drod...@hotmail.com; tinyos-help@millennium.berkeley.edu > > Note that the LOTUS uses a LPC1758. You would have to write all the > peripheral drivers for it in TinyOS, as that hasn't been done yet. So > I think Janos' estimate of one man-month is low, unless you really > know what you do. > > - Thomas > > -- > Assistant Professor > Electrical and Computer Engineering > University of Utah, Salt Lake City > > > On Thu, May 10, 2012 at 8:28 AM, Janos Sallai > wrote: > > As far as I can tell, it's a completely new platform. I would guess > > that the code exists in the main tree for most of the hardware > > components, though setting up platform support for the LOTUS in tinyos > > is still a nontrivial task -- at least one man-month of work. Maybe a > > bit more if the board schematics are not publicly available. > > > > Janos > > > > On Thu, May 10, 2012 at 5:46 AM, David Rodenas wrote: > >> Hi all > >> > >> I am interested in lotus devices manufactured by MEMSIC Inc. However, I've > >> seen that there is not support for TinyOS. Am I wrong? Is anyone working > >> with these devices? Would it be a bad investment? They are fully compatible > >> with Imote2, but I suppose Imote2's drivers would't work on Lotus. > >> > >> All the help/opinions/suggestions are appreciated. > >> > >> Thanks! > >> > >> David > >> > >> ___ > >> Tinyos-help mailing list > >> Tinyos-help@millennium.berkeley.edu > >> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] LOTUS devices manufactured by MEMSIC VS TinyOS
Hi all I am interested in lotus devices manufactured by MEMSIC Inc. However, I've seen that there is not support for TinyOS. Am I wrong? Is anyone working with these devices? Would it be a bad investment? They are fully compatible with Imote2, but I suppose Imote2's drivers would't work on Lotus. All the help/opinions/suggestions are appreciated. Thanks! David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Compute instant energy consumption
Hi all I wonder if there is any TinyOS component or any method to measure the instant energy consumption (or get the average energy consumption periodically) on the nodes in a real fashion (not by means of simulation tools). I am working with Micaz devices and the only idea that comes to my mind is using theoretical values from MicaZ's datasheet. However, this would be just an estimation, and it would take too much time to compute this information. All the help possible would be appreciated. Thanks in advance, David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] IEEE 802.15.4 Implementation and broadcast transmission
Hi Jan Thanks a lot for your reply. You are right! It has no sense doing an indirect broadcast transmission. What I just wanted to do is a broadcast transmission employing the unslotted IEEE 8021.5.4 csma-ca. For this reason, what it seems to me is that I am not using the correct transmission options in the MCPS_DATA.request function. That filed should be zero what means a direct broadcast transmission. I'll check that and see if it is works. Again, thanks a lot for your help! David > Date: Tue, 17 Apr 2012 15:09:10 +0200 > Subject: Re: [Tinyos-help] IEEE 802.15.4 Implementation and broadcast > transmission > From: ha...@tkn.tu-berlin.de > To: drod...@hotmail.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > > what it is fine but to my astonishment, when I checked that function which > > is implemented at the bottom of the same file, I realized that the return > > value was due to: [...] > > Therefore, the broadcast transmission is not implemented by default. > > A default is called when no component is wired. In nonbeacon-enabled > mode indeed no component is wired, so the default is executed and you > get an error code. This was likely done, because I'm not quite sure > what indirect transmission using a broadcast address in > nonbeacon-enabled mode actually means (maybe you can give your > interpretation?). > > The standard (IEEE 802.15.4-2006) says in Sect. 7.1.1.1.3: "If the > TxOptions parameter specifies that an indirect transmission is > required and this primitive is received by the MAC sublayer of a > coordinator, the data frame is sent using indirect transmission, i.e., > the data frame is added to the list of pending transactions stored on > the coordinator and extracted at the discretion of the device > concerned using the method described in 7.5.6.3. Transactions with a > broadcast destination address will be transmitted using the mechanism > described in 7.2.1.1.3.". Unfortunately Sect. 7.2.1.1.3 does not > describe any mechanism (it just defines the use of the frame pending > bit) ... > > One interpretation could be: the coordinator stores the packet and any > device that asks for the data via POLL will get the packet. The > problem with that approach is: when would you remove the packet from > the coordinator's queue (after macTransactionPersistenceTime)? > > BTW, make sure you're using the latest code from SVN > (http://code.google.com/p/tinyos-main/). > > Thanks, > Jan > > > On Tue, Apr 17, 2012 at 10:39 AM, David Rodenas wrote: > > Hi all > > > > I've doing some research with the IEEE 802.15.4 TinyOS Implementation > > (TKN154) whose libs are located at "/tos/lib/mac/tkn154" and test > > applications at "/apps/tests/tkn154" directories. I am aware that the > > majority of the community research do not work with this, but I appreciate > > all the help possible. > > > > > > In particular, I'm trying to send a broadcast data frame employing the IEEE > > 802.15.4 non-beacon enabled mode. To to this, I've been working with the > > TestIndirectData application > > (/apps/tests/tkn154/TestIndirectData/coordinator). As the README.txt file > > indicates, "In this application one node takes the role of a PAN coordinator > > in a nonbeacon-enabled 802.15.4 PAN, every 3 seconds it sends a packet to a > > device using indirect transmission (i.e. the packet is buffered until it is > > polled by the device). A second node acts as the device, it switches to the > > pre-defined > > channel and polls the coordinator every 1 second for outstanding > > indirect transmissions." I've tested the application and it works fine. > > However, I've changed two things in the code in order to send broadcast > > frames instead unicast frames as follows (changes in bold): > > > > > > void sendIndirectData(){ > > > > ieee154_address_t deviceAddress; > > // deviceAddress.shortAddress = DEVICE_ADDRESS; > > deviceAddress.shortAddress = 0x; > > call Frame.setAddressingFields( > > &frame, > > ADDR_MODE_SHORT_ADDRESS, // SrcAddrMode, > > ADDR_MODE_SHORT_ADDRESS, // DstAddrMode, > > PAN_ID, // DstPANId, > > &deviceAddress, // DstAddr, > > NULL // security > > ); > > /* call MCPS_DATA.request( > >
[Tinyos-help] IEEE 802.15.4 Implementation and broadcast transmission
Hi all I've doing some research with the IEEE 802.15.4 TinyOS Implementation (TKN154) whose libs are located at "/tos/lib/mac/tkn154" and test applications at "/apps/tests/tkn154" directories. I am aware that the majority of the community research do not work with this, but I appreciate all the help possible. In particular, I'm trying to send a broadcast data frame employing the IEEE 802.15.4 non-beacon enabled mode. To to this, I've been working with the TestIndirectData application (/apps/tests/tkn154/TestIndirectData/coordinator). As the README.txt file indicates, "In this application one node takes the role of a PAN coordinator in a nonbeacon-enabled 802.15.4 PAN, every 3 seconds it sends a packet to a device using indirect transmission (i.e. the packet is buffered until it is polled by the device). A second node acts as the device, it switches to the pre-definedchannel and polls the coordinator every 1 second for outstanding indirect transmissions." I've tested the application and it works fine. However, I've changed two things in the code in order to send broadcast frames instead unicast frames as follows (changes in bold): void sendIndirectData(){ ieee154_address_t deviceAddress;// deviceAddress.shortAddress = DEVICE_ADDRESS;deviceAddress.shortAddress = 0x;call Frame.setAddressingFields( &frame, ADDR_MODE_SHORT_ADDRESS, // SrcAddrMode, ADDR_MODE_SHORT_ADDRESS, // DstAddrMode, PAN_ID, // DstPANId, &deviceAddress, // DstAddr, NULL // security);/* call MCPS_DATA.request( &frame, // frame, strlen(payload), // payloadLength, 0, // msduHandle, TX_OPTIONS_INDIRECT | TX_OPTIONS_ACK // TxOptions,); */ status_t = call MCPS_DATA.request( &frame, // frame, strlen(payload), // payloadLength, 0, // msduHandle, TX_OPTIONS_INDIRECT // TxOptions, ); call Leds.led1On();call Led1Timer.startOneShot(12500U); } When I tested the application, it didn't work when it was supposed to. For this reason I've been checking the code looking for the problem. Firstly, the event MCPS_DATA.confirm was never signaled. So I checked the return value of MCPS_DATA.request (status_t) and its value was always IEEE154_INVALID_PARAMETER. Following with the tests, I checked the DataP.nc file (/tos/lib/mac/tkn154/DataP.nc) where the MCPS_DATA.request is implemented. In that file, when the transmission options are equal to TX_OPTIONS_INDIRECT, and the device address is equal to 0x, it does the following call: txStatus = call BroadcastTx.transmit(txFrame); what it is fine but to my astonishment, when I checked that function which is implemented at the bottom of the same file, I realized that the return value was due to: default command ieee154_status_t BroadcastTx.transmit(ieee154_txframe_t *data) { return IEEE154_INVALID_PARAMETER;} Therefore, the broadcast transmission is not implemented by default. Taking into account the aforementioned, Does (or did) anybody have this same problem? How can I solve it? Any ideas? What portion of code shoud I add? Thanks a lot David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Few questions
Hi Juan You should take a look at the IEEE 802.15.4 standard in order to get more information and resolve your doubts: http://www.ieee802.org/15/pub/TG4.html Bye! David Date: Sat, 17 Mar 2012 19:42:57 +0100 From: juan.jose.martinez.ro...@gmail.com To: tinyos-help@millennium.berkeley.edu Subject: [Tinyos-help] Few questions Hello everyone. I’m using the TinyOS V2.1.1 with TELOS B and I’ve got some questions. On the standard 802.15.4 the CSMA-CA algorithm, in slotted this version of TinyOS give the option of “Battery life extension”. What it meant? Another thing is. When “ BE=min(2,macMinBE) ” wich is this possible value for BE. Thanks Juan ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Problem installing app in MicaZ
Hi Antonio Thanks but it doesn't work. I am using the MIB520 interface that as I 've seen, uses the mib510.extra file from avr installation. Date: Thu, 8 Mar 2012 13:04:36 +0100 Subject: Re: [Tinyos-help] Problem installing app in MicaZ From: antoniorosarodrig...@gmail.com To: drod...@hotmail.com Hi David, try with make micaz install mib510,/dev/ttyS7 2012/3/8 David Rodenas Herráiz Hi all I have a strange problem on a Windows 7 machine. I am working with TinyOS 2.x and MicaZ, and when I type "make micaz install mib520,/dev/ttyS7", I get the following: $ make micaz install mib520,/dev/ttyS7 mkdir -p build/micaz compiling BlinkToRadioAppC to a micaz binary ncc -o build/micaz/main.exe -Os -fnesc-separator=__ -Wall -Wshadow -Wnesc-all - target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb -DDEFINED_TOS_AM_GROUP =0x22 --param max-inline-insns-single=10 -DIDENT_APPNAME=\"BlinkToRadioApp\" -DIDENT_USERNAME=\"Helio\" -DIDENT_HOSTNAME=\"HP-PC\" -DIDENT_USERHASH=0xfa1592 40L -DIDENT_TIMESTAMP=0x4f589a8fL -DIDENT_UIDHASH=0xc4904224L -fnesc-dump=wiring -fnesc-dump='interfaces(!abstract())' -fnesc-dump='referenced(interfacedefs, co mponents)' -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkToRadioAppC.nc -lm /opt/tinyos-2.x/tos/chips/cc2420/lpl/DummyLplC.nc:39:2: warning: #warning "*** L OW POWER COMMUNICATIONS DISABLED ***" compiled BlinkToRadioAppC to build/micaz/main.exe 11654 bytes in ROM 311 bytes in RAM avr-objcopy --output-target=srec build/micaz/main.exe build/micaz/main.srec avr-objcopy --output-target=ihex build/micaz/main.exe build/micaz/main.ihex writing TOS image cp build/micaz/main.srec build/micaz/main.srec.out installing micaz binary using mib510 uisp -dprog=mib510 -dserial=/dev/ttyS7 --wr_fuse_h=0xd9 -dpart=ATmega128 --wr_f use_e=ff --erase --upload if=build/micaz/main.srec.out --verify Programmer is not responding. /opt/tinyos-2.x/support/make/avr/mib510.extra:31: recipe for target `program' failed make: *** [program] Error 2 The MIB520 interface uses COM7 and COM8 and I've tried all /dev/ttySx possible!!! I have installed it correctly in several computers but It doesn't work in this one. What could be the problem? All the help possible would be appreciated. Thanks, David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Problem installing app in MicaZ
Hi all I have a strange problem on a Windows 7 machine. I am working with TinyOS 2.x and MicaZ, and when I type "make micaz install mib520,/dev/ttyS7", I get the following: $ make micaz install mib520,/dev/ttyS7 mkdir -p build/micaz compiling BlinkToRadioAppC to a micaz binary ncc -o build/micaz/main.exe -Os -fnesc-separator=__ -Wall -Wshadow -Wnesc-all - target=micaz -fnesc-cfile=build/micaz/app.c -board=micasb -DDEFINED_TOS_AM_GROUP =0x22 --param max-inline-insns-single=10 -DIDENT_APPNAME=\"BlinkToRadioApp\" -DIDENT_USERNAME=\"Helio\" -DIDENT_HOSTNAME=\"HP-PC\" -DIDENT_USERHASH=0xfa1592 40L -DIDENT_TIMESTAMP=0x4f589a8fL -DIDENT_UIDHASH=0xc4904224L -fnesc-dump=wiring -fnesc-dump='interfaces(!abstract())' -fnesc-dump='referenced(interfacedefs, co mponents)' -fnesc-dumpfile=build/micaz/wiring-check.xml BlinkToRadioAppC.nc -lm /opt/tinyos-2.x/tos/chips/cc2420/lpl/DummyLplC.nc:39:2: warning: #warning "*** L OW POWER COMMUNICATIONS DISABLED ***" compiled BlinkToRadioAppC to build/micaz/main.exe 11654 bytes in ROM 311 bytes in RAM avr-objcopy --output-target=srec build/micaz/main.exe build/micaz/main.srec avr-objcopy --output-target=ihex build/micaz/main.exe build/micaz/main.ihex writing TOS image cp build/micaz/main.srec build/micaz/main.srec.out installing micaz binary using mib510 uisp -dprog=mib510 -dserial=/dev/ttyS7 --wr_fuse_h=0xd9 -dpart=ATmega128 --wr_f use_e=ff --erase --upload if=build/micaz/main.srec.out --verify Programmer is not responding. /opt/tinyos-2.x/support/make/avr/mib510.extra:31: recipe for target `program' failed make: *** [program] Error 2 The MIB520 interface uses COM7 and COM8 and I've tried all /dev/ttySx possible!!! I have installed it correctly in several computers but It doesn't work in this one. What could be the problem? All the help possible would be appreciated. Thanks, David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Problem with BaseStation15.4
Hi all I found the problem. I needed to generate the libmote.a file within the tinyos-2.x/support/sdk/c/sf directory. However, I cannot fulfill the instalation: First, you have to type "./boostrap". Secondly, you have to type "./configure". Then, it outputs the following for me (which I think is ok): - $ ./configurechecking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for a thread-safe mkdir -p... /usr/bin/mkdir -pchecking for gawk... gawkchecking whether make sets $(MAKE)... yeschecking for gcc... gccchecking whether the C compiler works... yeschecking for C compiler default output file name... a.exechecking for suffix of executables... .exechecking whether we are cross compiling... nochecking for suffix of object files... ochecking whether we are using the GNU C compiler... yeschecking whether gcc accepts -g... yeschecking for gcc option to accept ISO C89... none neededchecking for style of include used by make... GNUchecking dependency style of gcc... gcc3checking for ranlib... ranlibconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating autoconf.hconfig.status: autoconf.h is unchangedconfig.status: executing depfiles commands- Finally, you have to type "make", but this step fails in my case. The output is the following (I add [...] in order to shorten the output): -$ makemig -o serialpacket.h -c-prefix=spacket c /opt/tinyos-2.x/tos/lib/serial/Serial.h serial_packet -D_POSIX_C_SOURCE/usr/lib/ncc/deputy_nodeputy.h:4:20: error: stddef.h: No such file or directory/usr/lib/ncc/nesc_nx.h:16:22: error: inttypes.h: No such file or directory/usr/lib/ncc/nesc_nx.h:235: syntax error before `__nesc_ntoh_uint8'/usr/lib/ncc/nesc_nx.h:240: syntax error before `__nesc_hton_uint8'/usr/lib/ncc/nesc_nx.h:242: `value' undeclared here (not in a function)/usr/lib/ncc/nesc_nx.h:242: warning: data definition has no type or storage class[...]/usr/lib/ncc/nesc_nx.h:400: syntax error before `nxle_uint16_t'/usr/lib/ncc/nesc_nx.h:401: syntax error before `nxle_uint32_t'/usr/lib/ncc/nesc_nx.h:402: syntax error before `nxle_uint64_t'/opt/tinyos-2.x/tos/system/tos.h:8:20: error: unistd.h: No such file or directory[...] /opt/tinyos-2.x/tos/system/tos.h:26: syntax error before `nx_bool'/opt/tinyos-2.x/tos/system/tos.h:27: syntax error before `TOS_NODE_ID'In file included from /opt/tinyos-2.x/tos/system/TinySchedulerC.nc:47:In interface `Scheduler':/opt/tinyos-2.x/tos/interfaces/Scheduler.nc:65: only commands and events can be defined in interfaces/opt/tinyos-2.x/tos/interfaces/Scheduler.nc:65: syntax error before `runNextTask'In file included from /opt/tinyos-2.x/tos/interfaces/TaskBasic.nc:53, from /opt/tinyos-2.x/tos/system/TinySchedulerC.nc:48:In C file:/opt/tinyos-2.x/tos/types/TinyError.h:67: syntax error before `error_t'/opt/tinyos-2.x/tos/types/TinyError.h:69: syntax error before `ecombine'In file included from /opt/tinyos-2.x/tos/system/TinySchedulerC.nc:48:In interface `TaskBasic':/opt/tinyos-2.x/tos/interfaces/TaskBasic.nc:67: only commands and events can be defined in interfaces/opt/tinyos-2.x/tos/interfaces/TaskBasic.nc:67: syntax error before `postTask'In component `TinySchedulerC':/opt/tinyos-2.x/tos/system/TinySchedulerC.nc:48: syntax error before `uint8_t'In file included from /opt/tinyos-2.x/tos/system/SchedulerBasicP.nc:52, from /opt/tinyos-2.x/tos/system/TinySchedulerC.nc:51:In C file:/opt/tinyos-2.x/tos/platforms/null/hardware.h:7: syntax error before `__nesc_atomic_t'/opt/tinyos-2.x/tos/platforms/null/hardware.h:8: syntax error before `mcu_power_t'/opt/tinyos-2.x/tos/platforms/null/hardware.h:10: syntax error before `__nesc_atomic_start'/opt/tinyos-2.x/tos/platforms/null/hardware.h:14: syntax error before `x'In file included from /opt/tinyos-2.x/tos/system/TinySchedulerC.nc:51:In component `SchedulerBasicP':/opt/tinyos-2.x/tos/system/SchedulerBasicP.nc:56: syntax error before `uint8_t'In file included from /opt/tinyos-2.x/tos/system/TinySchedulerC.nc:51:/opt/tinyos-2.x/tos/system/SchedulerBasicP.nc:67: syntax error before `m_head'[...] /opt/tinyos-2.x/tos/system/SchedulerBasicP.nc:83: warning: data definition has no type or storage class/opt/tinyos-2.x/tos/system/SchedulerBasicP.nc:84: syntax error before `if'SchedulerBasicP: `TaskBasic.error_t' not implementedSchedulerBasicP: `Scheduler.init' not implementedSchedulerBasicP: `Scheduler.taskLoop' not implementedSchedulerBasicP: `Scheduler.bool' not implementedIn C file:: Scheduler `TinySchedulerC' has no scheduling interface named `TaskBasic'In file included from /opt/tinyos-2.x/tos/lib/serial/Serial.h:81:/
[Tinyos-help] Problem with BaseStation15.4
Hi all I'm having problems when compiling the BaseStation15.4 application for Micaz devices: --$ make micazmkdir -p build/micazgcc -o seriallisten15-4 seriallisten15-4.o /opt/tinyos-2.x/tos/../support/sdk/c/sf/libmote.agcc: /opt/tinyos-2.x/tos/../support/sdk/c/sf/libmote.a: No such file or directoryMakefile:9: recipe for target `seriallisten15-4' failedmake: *** [seriallisten15-4] Error 1-- Does anyone else have this problem? I appreciate all the help possible Thanks, David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] (no subject)
Hi again I am sorry about the spam. I found the solution at http://docs.tinyos.net/tinywiki/index.php/Cygwin_User_Notes Thanks! From: drod...@hotmail.com To: tinyos-help@millennium.berkeley.edu Date: Mon, 13 Feb 2012 19:13:29 + Subject: Re: [Tinyos-help] (no subject) Hi Andris You are right. I have just find the same answer. I am using the MicaZ devices and the MIB520CB Interface Board and I suppose that to install an app, I have to use "make micaz install mib520,port". In this sense, as the MIB520CB Interface Board is connected to an usb port from my laptop, what "port" name should I use? comx? usbx? where x is 0, 1 ... I am using a cygwin environment and TinyOS 2.x Thanks for the help David > Date: Mon, 13 Feb 2012 19:53:08 +0100 > Subject: Re: [Tinyos-help] (no subject) > From: bband...@gmail.com > To: drod...@hotmail.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > Giveio.sys doesn't work on Vista and newer, but if you don't plan to > use parrellel port programmer, you don't need it. > > Andris > > On Mon, Feb 13, 2012 at 7:03 PM, David Rodenas Herráiz > wrote: > > Hi all > > > > > > I'm trying to install TinyOS on a Windows 7 machine, but I am getting the > > following error: > > > > > > $ rpm -Uvh --force --nodeps avrdude-tinyos-5.6cvs-1.cygwin.i386.rpm > > > > Preparing...### > > [100%] > > > >1:avrdude-tinyos ### > > [100%] > > > > /usr/bin / > > > > Copying the driver to the windows directory > > > > target file: C:\Windows\giveio.sys > > > > Denied Access. > > > > 0 files(s) copied(s). > > > > Remove a running service if needed... > > > > Installing Windows NT/2k/XP driver: giveio > > > > install failed, file not found: C:\Windows\giveio.sys > > > > starting giveio... start failed (status 6): > > > > > > I appreciate all the help possible. > > > > > > Thanks > > > > > > David > > > > > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] (no subject)
Hi Andris You are right. I have just find the same answer. I am using the MicaZ devices and the MIB520CB Interface Board and I suppose that to install an app, I have to use "make micaz install mib520,port". In this sense, as the MIB520CB Interface Board is connected to an usb port from my laptop, what "port" name should I use? comx? usbx? where x is 0, 1 ... I am using a cygwin environment and TinyOS 2.x Thanks for the help David > Date: Mon, 13 Feb 2012 19:53:08 +0100 > Subject: Re: [Tinyos-help] (no subject) > From: bband...@gmail.com > To: drod...@hotmail.com > CC: tinyos-help@millennium.berkeley.edu > > Hi David, > > Giveio.sys doesn't work on Vista and newer, but if you don't plan to > use parrellel port programmer, you don't need it. > > Andris > > On Mon, Feb 13, 2012 at 7:03 PM, David Rodenas Herráiz > wrote: > > Hi all > > > > > > I'm trying to install TinyOS on a Windows 7 machine, but I am getting the > > following error: > > > > > > $ rpm -Uvh --force --nodeps avrdude-tinyos-5.6cvs-1.cygwin.i386.rpm > > > > Preparing...### > > [100%] > > > >1:avrdude-tinyos ### > > [100%] > > > > /usr/bin / > > > > Copying the driver to the windows directory > > > > target file: C:\Windows\giveio.sys > > > > Denied Access. > > > > 0 files(s) copied(s). > > > > Remove a running service if needed... > > > > Installing Windows NT/2k/XP driver: giveio > > > > install failed, file not found: C:\Windows\giveio.sys > > > > starting giveio... start failed (status 6): > > > > > > I appreciate all the help possible. > > > > > > Thanks > > > > > > David > > > > > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] (no subject)
Hi all I'm trying to install TinyOS on a Windows 7 machine, but I am getting the following error: $ rpm -Uvh --force --nodeps avrdude-tinyos-5.6cvs-1.cygwin.i386.rpmPreparing... ### [100%] 1:avrdude-tinyos ### [100%]/usr/bin /Copying the driver to the windows directorytarget file: C:\Windows\giveio.sysDenied Access.0 files(s) copied(s).Remove a running service if needed...Installing Windows NT/2k/XP driver: giveioinstall failed, file not found: C:\Windows\giveio.sysstarting giveio... start failed (status 6): I appreciate all the help possible. Thanks David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Stop spam!!!!!!!!
I all I have the same problem. I counted more than 200 messages from Abhishek MajumdarAdd!!! > Date: Thu, 2 Feb 2012 13:04:12 +0200 > From: engleza...@ceid.upatras.gr > To: Tinyos-help@millennium.berkeley.edu > Subject: [Tinyos-help] Stop spam > > This user Abhishek MajumdarAdd is spamming my inbox folder threw > Tinyos-help mailing list > > Does anybody have the same problem? > ___ > Tinyos-help mailing list > Tinyos-help@millennium.berkeley.edu > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Different compilers within the same TinyOS-2.1
Thanks Eric. I had some problems installing the xscale compiler (for Imote2): rpm -ivh --ignoreos xscale-elf-gcc-3.4.3-1.cygwin.i386.rpm Preparing...### [100%] file /usr/man/man7/fsf-funding.7 from install of xscale-elf-gcc-3.4.3-1 conflicts with file from package avr-gcc-4.1.2-1 file /usr/man/man7/gfdl.7 from install of xscale-elf-gcc-3.4.3-1 conflicts with file from package avr-gcc-4.1.2-1 and more... I suppose that I'll have to install it manually. Therefore, I don't know when but I'll tell you if it finally works. David Rodenas Herráiz Date: Wed, 26 Oct 2011 03:10:34 -0700 Subject: Re: [Tinyos-help] Different compilers within the same TinyOS-2.1 From: cire...@gmail.com To: drod...@hotmail.com CC: tinyos-help@millennium.berkeley.edu take a look a different .platform files A pattern will become apparent. You'll see things like... -gcc=msp430-gcc-mmcu=msp430x1611 -fnesc-target=msp430 and like -gcc=avr-gcc-mmcu=atmega128-fnesc-target=avr I don't know of any documentation for these things. I mostly fly by the seat of my pants when it comes to what these switches do. On Wed, Oct 26, 2011 at 12:44 AM, David Rodenas Herráiz wrote: Hi Eric thanks for your answer. Would you mind giving me some brief instructions to do those switches? David Date: Tue, 25 Oct 2011 16:14:58 -0700 Subject: Re: [Tinyos-help] Different compilers within the same TinyOS-2.1 From: cire...@gmail.com To: drod...@hotmail.com CC: tinyos-help@millennium.berkeley.edu On Tue, Oct 25, 2011 at 11:25 AM, David Rodenas Herráiz wrote: Hi everyone I am working with Imote2 and MicaZ motes and I want to ask if PXA27x (compiler for Imote2) Atmel AVR tools (compiler or MicaZ) might work within the same TinyOS-2.1 installation. Sure. The toolchain invoked is determined by switches in the .platform file for the platform being compiled. So it should work fine. Thanks in advance David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Eric B. Decker Senior (over 50 :-) Researcher -- Eric B. Decker Senior (over 50 :-) Researcher ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Different compilers within the same TinyOS-2.1
Hi Eric thanks for your answer. Would you mind giving me some brief instructions to do those switches? David Date: Tue, 25 Oct 2011 16:14:58 -0700 Subject: Re: [Tinyos-help] Different compilers within the same TinyOS-2.1 From: cire...@gmail.com To: drod...@hotmail.com CC: tinyos-help@millennium.berkeley.edu On Tue, Oct 25, 2011 at 11:25 AM, David Rodenas Herráiz wrote: Hi everyone I am working with Imote2 and MicaZ motes and I want to ask if PXA27x (compiler for Imote2) Atmel AVR tools (compiler or MicaZ) might work within the same TinyOS-2.1 installation. Sure. The toolchain invoked is determined by switches in the .platform file for the platform being compiled. So it should work fine. Thanks in advance David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Eric B. Decker Senior (over 50 :-) Researcher ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Different compilers within the same TinyOS-2.1
Hi everyone I am working with Imote2 and MicaZ motes and I want to ask if PXA27x (compiler for Imote2) Atmel AVR tools (compiler or MicaZ) might work within the same TinyOS-2.1 installation. Thanks in advance David ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Current mac protocol
Hi Kartik If you make an application for Telosb, or any other mote, under TinyOS, the MAC protocol used is the Berkeley's implementation, which is B-MAC. There is a lot of information on Internet, try at IEEE Xplore webpage for articles. Bye David Rodenas Herráiz El 20/10/2010 22:03, Kartik Siddhabathula escribió: Hi Wasif, Seems you didn't get my question. I know where mac is in tinyos. I want to know what type of MAC is used by telosb motes? is it S-Mac, B-Mac or X-Mac? Where is the documentation for that? Thanks, Kartik --- On Wed, 10/20/10, wasif masood wrote: From: wasif masood Subject: Re: [Tinyos-help] Current mac protocol To: "Kartik Siddhabathula" Cc: "TinyoS help" Date: Wednesday, October 20, 2010, 2:58 PM its under tos/chips/cc2420 On Wed, Oct 20, 2010 at 8:44 PM, Kartik Siddhabathula <siddhabathulakar...@yahoo.com> wrote: Hi all, I would like to know what is the current mac protocol used by cc2420 radio chips. I read it our forum archives that it is a combination of B-Mac and X-Mac. I need a proper reference so that I can back up the claim. Does anyone have any idea where I can find the MAC protocol implementation of cc2420. Thanks, Kartik ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help -- Wasif Masood ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] How to send data from PC to mote using SerialForwarder
Thanks a lot, I solved it. I put my code here: _ char lenmsg = 9; unsigned char buff[9]; int i = 0; buff[i++] = 0x00; // syncByte buff[i++] = 0xFF; // Destination Address buff[i++] = 0xFF; // Destination Address buff[i++] = 0x00; // Link source address buff[i++] = 0x00; // Link source address buff[i++] = 0x01; // Message length buff[i++] = 0x00; // Group ID buff[i++] = 0x09; // Active Message handler type buff[i++] = 0x56; // Payload send(fd, &lenmsg, 1, 0); send(fd, (char*)buff, lenmsg, 0); return 0; _ David > Date: Tue, 29 Jun 2010 15:49:55 +0800 > From: dodda...@comp.nus.edu.sg > To: drod...@hotmail.com > CC: tinyos-help@millennium.berkeley.edu > Subject: Re: [Tinyos-help] How to send data from PC to mote using > SerialForwarder > > > Following is a detailed example that we used explain to undergrad students > here. Sorry for being too detailed. > > 1) start sf at the desired port number, for ex., ./sf 9001 /dev/ttyUSB0 > telosb > > 9001 - SF port number > /dev/ttyUSB0 - device address > telosb - you can use name of the mote to specify baudrate > > 2) Once you start SF at 9001, you can use > > a) "sfsend" to send commands to your mote: ./sfsend syncByte > destination source length AMType PAYLOAD > > syncByte (1 byte): 0 > destination (two bytes): 0 126 > source (2 bytes): 0 0 > length (1 byte): length of payload > group (1 Byte): 0 > AMType (1 byte): AM type of your message > PAYLOAD: payload starts here > > b) You can use "sflisten" to see what your program dumps from the > mote > > ./sflisten hostAddr sfPort > e.x., ./sflisten 127.0.0.1 9001 > > Regards, > Manjunath D > > > Manjunath D > > ######## > *** > > On Tue, 29 Jun 2010, David Rodenas Herráiz wrote: > > > > > Hi > > > > I want to write a C++ program to send data from PC to a base station mote > > (app BaseStation) , and this one, send the data received to another mote. I > > have problems with the format packet I have to send (I connect to > > SerialForwarder and receive data). I have the following code (to do it, I > > used: http://www.tinyos.net/tinyos-2.x/doc/html/tep113.html): > > > > char lenmsg = 13; > > unsigned char buff[13]; > > int i = 0; > > > > buff[i++] > > = 0x7E; // Framing byte > > buff[i++] = 0x40; // Protocol byte: > > SerialP > > buff[i++] = 0x09; // Sequence number? > > buff[i++] = 0x00; > > // Packet format dispatch byte > > buff[i++] = 0xFF; // Message dest address > > buff[i++] > > = 0xFF; // Message dest address > > buff[i++] = 0x01; // Packet size > > buff[i++] > > = 0x00; // Group ID > > buff[i++] = 0x06; // Message Type > > //buff[i++] > > = 0x5D; // 0x06 isn't a scape, so I don't need it > > buff[i++] = 0x56; > > // Data > > buff[i++] = 0x00; // CRC ?? I don't know how to calculate CRC > > buff[i++] = 0x00; // CRC > > buff[i++] > > = 0x7E; // Framing byte */ > > > > send(fd, &lenmsg, 1, 0); > > send(fd, > > (char*)buff, lenmsg, 0); > > > > > > I can see in the counter of packets written in the SerialForwarder (java > > version) that the packet is send, but it doesn't reach the basestation. I > > don't know if I'm using the right packet format to send data to > > SerialForwarder, because I thing the code above is for serial > > communication, not to SerialForwarder communication. I tested the following > > code (SerialAM message), but I had the same result: > > > > > > > > char lenmsg = 13; > > > > unsigned char buff[13]; > > > > int i = 0; > > > > > > > > buff[i++] = 0xFF; // Message dest
[Tinyos-help] How to send data from PC to mote using SerialForwarder
Hi I want to write a C++ program to send data from PC to a base station mote (app BaseStation) , and this one, send the data received to another mote. I have problems with the format packet I have to send (I connect to SerialForwarder and receive data). I have the following code (to do it, I used: http://www.tinyos.net/tinyos-2.x/doc/html/tep113.html): char lenmsg = 13; unsigned char buff[13]; int i = 0; buff[i++] = 0x7E; // Framing byte buff[i++] = 0x40; // Protocol byte: SerialP buff[i++] = 0x09; // Sequence number? buff[i++] = 0x00; // Packet format dispatch byte buff[i++] = 0xFF; // Message dest address buff[i++] = 0xFF; // Message dest address buff[i++] = 0x01; // Packet size buff[i++] = 0x00; // Group ID buff[i++] = 0x06; // Message Type //buff[i++] = 0x5D; // 0x06 isn't a scape, so I don't need it buff[i++] = 0x56; // Data buff[i++] = 0x00; // CRC ?? I don't know how to calculate CRC buff[i++] = 0x00; // CRC buff[i++] = 0x7E; // Framing byte */ send(fd, &lenmsg, 1, 0); send(fd, (char*)buff, lenmsg, 0); I can see in the counter of packets written in the SerialForwarder (java version) that the packet is send, but it doesn't reach the basestation. I don't know if I'm using the right packet format to send data to SerialForwarder, because I thing the code above is for serial communication, not to SerialForwarder communication. I tested the following code (SerialAM message), but I had the same result: char lenmsg = 13; unsigned char buff[13]; int i = 0; buff[i++] = 0xFF; // Message dest address buff[i++] = 0xFF; // Message dest address buff[i++] = 0x01; // Packet size buff[i++] = 0x00; // Group ID buff[i++] = 0x06; // Message Type buff[i++] = 0x56; // Data send(fd, &lenmsg, 1, 0); send(fd, (char*)buff, lenmsg, 0); Any suggestion? Thanks David _ Sé el protagonista de GQ con Messenger y Vodafone Blackberry. ¡Y gana premios! http://serviciosmoviles.es.msn.com/messenger/vodafone.aspx___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Big endian
Hi all Finally I connected my application (made in C++) to the Serial Forwarder, and I receive packets. But my problem is the following (I only need some information): The data is sent by the mote in big-endian format, for example, 01 02 means 258 (256*1 + 2). When I receive the packet, I need the value 258, not the 01 02, as if it were an integer. Any suggestion? Thanks! David _ ¿Quieres saber qué PC eres? ¡Descúbrelo aquí! http://www.quepceres.com/___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Use of the SerialForwarder
Hi I have an application in C++, and I realized that I have to make a client socket (I made a server and It doesn't work) to connect to SerialForwarder and receive messages from the mote to PC. What is the address of the SerialForwarder? RecvAddr.sin_port=htons(Port); RecvAddr.sin_family=AF_INET; RecvAddr.sin_addr.s_addr= ?? Regards David _ Recibe en tu móvil un SMS con tu Hotmail recibido. ¡Date de alta ya! http://serviciosmoviles.es.msn.com/___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] Application in C++ for Tinyos
Hi Jordi I've seen that Blip is in TinyOS 2.1, isn't it? I'm using TinyOS 2.x. Can I use it? I have a problem, I have to program something in another application, and I only need to receive messages. I don't know what to do! Thanks a lot! David Date: Tue, 9 Mar 2010 19:28:15 +0100 Subject: Re: [Tinyos-help] Application in C++ for Tinyos From: jsouchei...@dexmatech.com To: drod...@hotmail.com CC: tinyos-help@millennium.berkeley.edu Hi David, Using blip it's really easy to make a C++ program to interact with motes. You could try to use it. Good luck 2010/3/9 David Rodenas Herráiz Hi all I'm trying to make an application in C++ language for PC to read and display messages on screen. I made a socket to connect the application and the mote to port 9001, but it doesn't read anything! Dows anyone know of an application made in C++ for Tinyos? I need an example! Thanks! David ¿Quieres saber qué móvil eres? ¡Descúbrelo aquí! ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help _ ¿Te gustaría tener Hotmail en tu móvil Movistar? ¡Es gratis! http://serviciosmoviles.es.msn.com/hotmail/movistar-particulares.aspx___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Application in C++ for Tinyos
Hi all I'm trying to make an application in C++ language for PC to read and display messages on screen. I made a socket to connect the application and the mote to port 9001, but it doesn't read anything! Dows anyone know of an application made in C++ for Tinyos? I need an example! Thanks! David _ ¿Te gustaría tener Hotmail en tu móvil Movistar? ¡Es gratis! http://serviciosmoviles.es.msn.com/hotmail/movistar-particulares.aspx___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] FW: Size of array
Hi Martin I tried that, but it doesn't go well! I forgot to say it. Thanks! > Date: Wed, 2 Dec 2009 20:34:55 + > From: martin.oster...@tu-ilmenau.de > To: drod...@hotmail.com > Subject: Re: [Tinyos-help] Size of array > > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > Hi David, > > just a quick guess. > Just walk with a loop through the array and count the elements. > > So to say > > uint_8 counter = 0; > while( array[i+1] != null ) > { > counter++; > i++; > } > > Maybe this seems a little bit strange, but I think, nesC (or C) does > not have something like array.length(); > > Someone please correct me, if this is wrong. > > Just a guess ;) > > Best, > Martin > > David Rodenas Herráiz wrote: > > Hi all > > > > How can I get the number of elements of an array? > > > > For example, if you have a pointer to an array of 200 elements, get > > this number. > > > > You can't do this with sizeof. I've also tried with > > sizeof(array)/sizeof(array[0]) but I don't get what I want. > > > > Regards > > > > David > > > > > > -- > > 49 habitantes, 49 expertos en Windows 7. Así es Sietes, ¡Visítalo! > > <http://www.sietesunpueblodeexpertos.com/> > > > > -- > > > > ___ > > Tinyos-help mailing list > > Tinyos-help@millennium.berkeley.edu > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.9 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAksWz2sACgkQa1gn+vovozP0LgCeLLlwaPU2bQA1ORbpojSzzS3o > INMAoIH5VvC9wE/HiyRh9M8WfUKxCx71 > =+D3h > -END PGP SIGNATURE- > 49 habitantes, 49 expertos en Windows 7. Así es Sietes, ¡Visítalo! _ ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Size of array
Hi all How can I get the number of elements of an array? For example, if you have a pointer to an array of 200 elements, get this number. You can't do this with sizeof. I've also tried with sizeof(array)/sizeof(array[0]) but I don't get what I want. Regards David _ Deja que Sietes te enseñe todo los secretos de Windows http://www.sietesunpueblodeexpertos.com/___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
Re: [Tinyos-help] FW: Question about SDRAM and malloc
Sorry, I forgot to say that for use the SDRAM on Imote2 you have to use this (like a global variable): int *variable __attribute__((section(".sdram"))); Thanks David From: drod...@hotmail.com To: tinyos-help@millennium.berkeley.edu Date: Wed, 11 Nov 2009 17:59:52 + Subject: [Tinyos-help] FW: Question about SDRAM and malloc HiThanks. I found that on Imote2 malloc only allocates memory from SRAM. I need some help with something:I have a function where I call malloc some times and I create objets I need. I want to create them into SDRAM and not into SRAM. This function is like this (it is an example): #define SIZE //GLOBAL VARIABLE int * variable; ... //I call the function object_1 = App.call function(variable); object_2 = App.call function(variable); object_3 = App.call function(variable); ... //and the function is this: command int *App.function(int *n){ n = (int *) malloc(SIZE*sizeof(int)); return n; } }//end of implementation Please, I need help!Thanks a lot David Date: Tue, 10 Nov 2009 16:28:42 -0600 From: oewyn...@gmail.com To: drod...@hotmail.com CC: tinyos-help@millennium.berkeley.edu Subject: Re: [Tinyos-help] Question about SDRAM and malloc I'm not intimately familiar with the pxa27x architecture, but in general, when you call malloc(), you have no control over where the memory is allocated from. The memory should be automatically allocated in either the local SRAM or SDRAM (depending on how the memory controller operates). It depends on how the SRAM(local) memory is set up (if it attempts to cache the external SDRAM or not, etc). Unfortunately that is the best information I can give you as I don't have the hardware, and all the information I have provided you I found through searching. If you have further questions about the imote2, there does exist a mailing list: http://enl.usc.edu/pipermail/t2-imote2/ where you can ask your questions. Probably the person you want to contact about tinyos specific to imote2 is Robbie Adler (his contact information should be available in the list archives). It seems like he has been making significant contributions to the imote2 in Tinyos 2.x. -Paul David Rodenas Herráiz wrote: Hi Sorry, I did not make my question well. I'm using SDRAM memory on Imote2 and I want to ask something: If we define a variable like this unsigned int *variable __attribute__((section(".sdram"))); and if I make the following, #define SIZE 33023 variable = (unsigned int*)malloc(SIZE); Where is that memory stored? in the SRAM or SDRAM? Thanks David ¡Windows Phone ya está aquí! Mucho más que un teléfono. ¡Hazte con uno! Hasta las ovejas de Sietes son expertas en Windows 7. ¡Conócelas! ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ¡Nuevo Canal Mujer! Moda, belleza, sexo, dietas, embarazo. más fácil y a tu alcance. Si quieres estar a la última, no puedes perdértelo. ¡Windows Phone ya está aquí! Mucho más que un teléfono. ¡Hazte con uno! _ Sólo hay un loro experto en Windows 7 en todo el mundo. Y vive en Sietes ¡Cónocelo! http://www.sietesunpueblodeexpertos.com/___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] FW: Question about SDRAM and malloc
HiThanks. I found that on Imote2 malloc only allocates memory from SRAM. I need some help with something:I have a function where I call malloc some times and I create objets I need. I want to create them into SDRAM and not into SRAM. This function is like this (it is an example): #define SIZE //GLOBAL VARIABLE int * variable; ... //I call the function object_1 = App.call function(variable); object_2 = App.call function(variable); object_3 = App.call function(variable); ... //and the function is this: command int *App.function(int *n){ n = (int *) malloc(SIZE*sizeof(int)); return n; } }//end of implementation Please, I need help!Thanks a lot David Date: Tue, 10 Nov 2009 16:28:42 -0600 From: oewyn...@gmail.com To: drod...@hotmail.com CC: tinyos-help@millennium.berkeley.edu Subject: Re: [Tinyos-help] Question about SDRAM and malloc I'm not intimately familiar with the pxa27x architecture, but in general, when you call malloc(), you have no control over where the memory is allocated from. The memory should be automatically allocated in either the local SRAM or SDRAM (depending on how the memory controller operates). It depends on how the SRAM(local) memory is set up (if it attempts to cache the external SDRAM or not, etc). Unfortunately that is the best information I can give you as I don't have the hardware, and all the information I have provided you I found through searching. If you have further questions about the imote2, there does exist a mailing list: http://enl.usc.edu/pipermail/t2-imote2/ where you can ask your questions. Probably the person you want to contact about tinyos specific to imote2 is Robbie Adler (his contact information should be available in the list archives). It seems like he has been making significant contributions to the imote2 in Tinyos 2.x. -Paul David Rodenas Herráiz wrote: Hi Sorry, I did not make my question well. I'm using SDRAM memory on Imote2 and I want to ask something: If we define a variable like this unsigned int *variable __attribute__((section(".sdram"))); and if I make the following, #define SIZE 33023 variable = (unsigned int*)malloc(SIZE); Where is that memory stored? in the SRAM or SDRAM? Thanks David ¡Windows Phone ya está aquí! Mucho más que un teléfono. ¡Hazte con uno! Hasta las ovejas de Sietes son expertas en Windows 7. ¡Conócelas! ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help ¡Nuevo Canal Mujer! Moda, belleza, sexo, dietas, embarazo. más fácil y a tu alcance. Si quieres estar a la última, no puedes perdértelo. _ ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Question about SDRAM and malloc
Hi Sorry, I did not make my question well. I'm using SDRAM memory on Imote2 and I want to ask something: If we define a variable like this unsigned int *variable __attribute__((section(".sdram"))); and if I make the following, #define SIZE 33023 variable = (unsigned int*)malloc(SIZE); Where is that memory stored? in the SRAM or SDRAM? Thanks David ¡Windows Phone ya está aquí! Mucho más que un teléfono. ¡Hazte con uno! _ Date una vuelta por Sietes y conoce el pueblo de los expertos en Windows 7 http://www.sietesunpueblodeexpertos.com/___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Question about SDRAM and malloc
Hi I'm using SDRAM memory on Imote2 and I want to ask something: If we define a variable like this unsigned int *variable __attribute__((section(".sdram"))); and if I make the following, variable = (unsigned int*)malloc(sizeof(unsigned int)); Where is that memory stored? in the SRAM or SDRAM? Thanks David _ ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Using memories
Hi all Imote2 has 32 MB of FLASH memory and 32MB of SDRAM. Which of these memories, FLASH or SDRAM, is faster? I searched that in the datasheet but I did not find it. How can I use anyone of them? I need to store large data structures. Regards David _ Deja que Sietes te enseñe todo los secretos de Windows http://www.sietesunpueblodeexpertos.com/___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Problems with memory and malloc?
Hi all I'm having some problems in my code and I think they are because I'm using malloc, but I'm not sure. I read that it's better if you don't use dinamic memory. Is that true? So, what can I do? I'm using Imote2 and TinyOS 2.x. Thanks! David _ Vive toda la experiencia de Messenger con Orange desde tu Blackberry ¡Descúbrelo! http://serviciosmoviles.es.msn.com/messenger/blackberry.aspx ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] (no subject)
Hi What it the maximum value for TOSH_DATA_LENGTH on TinyOS 2.x? Regards David _ ¿Sabías que ahora puedes hablar por Messenger desde Hotmail con todos tus contactos? Revisa tu correo mientras conversas con tus amigos. http://www.hotmail.com ___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Application to see messages?
Hi I want to communicate the Imote2 and the PC using radio. I want to see the information which the Imote2 is sending to the PC. Is there any application for that? or anyone knows how to do that? Thanks David _ Descubre todas las formas en que puedes estar en contacto con amigos y familiares. http://www.microsoft.com/windows/windowslive/default.aspx___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Low Power Communications Disabled
Hi, I'm using Imote2 and TinyOS 2.x. While compiling my code I am getting a warning like the following: /opt/tinyos-2.x/tos/chips/cc2420/lpl/DummyLplC.nc:39:2: warning: #warning "*** LOW POWER COMMUNICATIONS DISABLED *** Can anyone please tell me what could be the cause of this warning and any way to remove it. Regards, David _ Llévate Messenger en el móvil a todas partes ¡Conéctate! http://www.microsoft.com/spain/windowsmobile/messenger/default.mspx___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] Problem Compiling
Hi I'm working with imote2 and tinyos 2.x .When I compile my application, appears this error at the end: /usr/lib/gcc/xscale-elf/3.4.3/../../../../xscale-elf/bin/ld: region SRAM is full (build/intelmote2/main.exe section .data) /usr/lib/gcc/xscale-elf/3.4.3/../../../../xscale-elf/bin/ld: address 0x5c0989ec of build/intelmote2/main.exe section .bss is not within region SRAM collect2: ld returned 1 exit status make: *** [exe0] Error 1 Can anyone tell me what it means? I asked about this and was told that it is because there is only 256 kB of SRAM and my data structures exceed that, but my data structures aren't so big. Please, I need help! Thanks David _ Messenger cumple 10 años ¡Descárgate ya los nuevos emoticonos! http://www.vivelive.com/felicidades___ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
[Tinyos-help] help with imote2 and tinyos-1.x
Hi I have problems with tinyos-1.x and imote2. I found this post http://www.mail-archive.com/tinyos-help@millennium.berkeley.edu/msg19542.html and my problem is the same. I followed the same steps, at http://www.eecs.harvard.edu/~konrad/projects/imote2Camera/IMote2-Installation-Instructions.html. My enviroment is #uname -a Linux xubuntu-tos 2.6.20-15-generic #2 SMP Sun Apr 15 07:36:31 UTC 2007 i686 GNU/Linux #xscale-elf-gcc -v Leyendo especificaciones de /usr/lib/gcc/xscale-elf/3.4.3/specs Configurado con: ../configure --target=xscale-elf --prefix=/usr --with-gnu-as --with-gnu-ld --enable-languages=c Modelo de hilos: single gcc versión 3.4.3 The version isn't 3.4.4 as the instruccions, but I think the problem isn't it. I don't know what to do. I compile Blink with #make imote2 and the report messages are mkdir -p build/imote2 xscale-elf-as -mcpu=iwmmxt -mfpu=softfpa -defsym BOOTLOADER=1 /opt/tinyos-1.x/tos/platform/pxa27x/../imote2/flash.s /opt/tinyos-1.x/tos/platform/pxa27x/../imote2/binarymover.s /opt/tinyos-1.x/tos/platform/pxa27x/barecrt.s /opt/tinyos-1.x/tos/platform/pxa27x/mmu_table.s /opt/tinyos-1.x/tos/platform/pxa27x/util.s -o build/imote2/asms.o cd /opt/tinyos-1.x/tos/platform/pxa27x/lib; make; make[1]: Entering directory `/opt/tinyos-1.x/beta/platform/pxa27x/lib' xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o bufferManagement.o bufferManagement.c In file included from bufferManagement.c:2: assert.h:8: aviso: se ignora la directiva de atributo `C' In file included from bufferManagement.c:4: systemUtil.h:28: aviso: se ignora la directiva de atributo `C' systemUtil.h:28: aviso: se ignora la directiva de atributo `spontaneous' xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o downsample.o downsample.c xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o frequency.o frequency.c xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o paramtask.o paramtask.c In file included from paramtask.c:4: systemUtil.h:28: aviso: se ignora la directiva de atributo `C' systemUtil.h:28: aviso: se ignora la directiva de atributo `spontaneous' xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o profile.o profile.c xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o queue.o queue.c xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o systemUtil.o systemUtil.c In file included from systemUtil.c:2: systemUtil.h:28: aviso: se ignora la directiva de atributo `C' systemUtil.h:28: aviso: se ignora la directiva de atributo `spontaneous' xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o utils.o utils.c xscale-elf-gcc -g -O2 -Wall -I/opt/tinyos-1.x/tos/platform/pxa27x -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/DSP -I/opt/tinyos-1.x/tos/platform/pxa27x/lib/ -c -o wmmx.o wmmx.c xscale-elf-ar -rvs libimote2.a bufferManagement.o downsample.o frequency.o paramtask.o profile.o queue.o systemUtil.o utils.o wmmx.o r - bufferManagement.o r - downsample.o r - frequency.o r - paramtask.o r - profile.o r - queue.o r - systemUtil.o r - utils.o r - wmmx.o make[1]: Leaving directory `/opt/tinyos-1.x/beta/platform/pxa27x/lib' compiling Blink to a imote2 binary ncc -o build/imote2/main.exe -O1 -g -I/opt/tinyos-1.x/tos/lib/CC2420Radio -I/opt/tinyos-1.x/tos/lib/Flash -DAUTO_BATTERY_MONITORING=1 -Wall -Wshadow -DDEF_TOS_AM_GROUP=0x7d -Wnesc-all -target=imote2 -fnesc-cfile=build/imote2/app.c -board= -DBOOTLOADER -DIDENT_PROGRAM_NAME=\"Blink\" -DIDENT_USER_ID=\"drodenas\" -DIDENT_HOSTNAME=\"drodenasPC\" -DIDENT_USER_HASH=0xfeea6a95L -DIDENT_UNIX_TIME=0x49efb093L -DIDENT_UID_HASH=0x54910eabL Blink.nc -lm build/imote2/asms.o /opt/tinyos-1.x/tos/platform/pxa27x/lib/libimote2.a In file included from /opt/tinyos-1.x/tos/system/Main.nc:49, from Blink.nc:42: In component `PotC': /opt/tinyos-1.x/tos/system/PotC.nc:90: component HPLPotC not found /opt/tinyos-1.x/tos/system/PotC.nc:93: no match In file included from Blink.nc:42: In component `Main': /opt/tinyos-1.x/tos/system/Main.nc:49: component HPLInit not found /opt/tinyos-1.x/tos/system/Main.nc:52: no match In file included from /opt/tinyos-1.x/tos/sys