Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
- Committer:
- mariob
- Date:
- 2012-09-06
- Revision:
- 0:8145d0de8bdc
- Child:
- 1:0c9911bd5715
File content as of revision 0:8145d0de8bdc:
#include "mbed.h"
#include "xbee.hpp"
#include "ssWi.hpp"
#include "ssWiSocket.hpp"
#define READING_PORTID 10
#define WRITING_PORTID 10
#define WRITING_PERIOD 1.0
#define READING_PERIOD 0.9
ssWiSocket* readingSocket;
ssWiSocket* writingSocket;
void checkSocket(ssWiSocket* sok, char* name);
void readingFunction(const void* arg);
void writingFunction(const void* arg);
int main()
{
printf("\n\r************* CONFIG *************\n\r");
//radio module
XBeeModule xbee(p9, p10, 102, 14);
XBeeAddress addr = xbee.getLocalAddress();
printf("XBEE: src addr: %s,%s\n\r", addr.getHighAddr().c_str(), addr.getLowAddr().c_str());
xbee.setDstAddress(XBeeBroadcastAddress());
XBeeAddress addr2 = xbee.getDstAddress();
printf("XBEE: dts addr: %s,%s\n\r", addr2.getHighAddr().c_str(), addr2.getLowAddr().c_str());
printf("XBEE: channel: %d\n\r", xbee.getChannel());
printf("XBEE: pan id: %d\n\r", xbee.getPanID());
//wireless protocol
ssWi channel(&xbee, 10, 20);
readingSocket = channel.createSocket(READING_PORTID);
checkSocket(readingSocket, "reading");
writingSocket = channel.createSocket(WRITING_PORTID);
checkSocket(writingSocket, "writing");
//thread
Thread readingThread(readingFunction);
Thread writingThread(writingFunction);
printf("\n\r************* START *************\n\r");
while(1);
}
void checkSocket(ssWiSocket* socket, char* name)
{
if (socket==NULL)
printf("CHANNEL: error on %s socket\n\r", name);
else
printf("CHANNEL: %s socket ok\n\r", name);
}
void readingFunction(const void* arg)
{
while(1) {
printf("Read value: %d\n\r", readingSocket->read());
wait(READING_PERIOD);
}
}
void writingFunction(const void* arg)
{
static int value = 0;
while(1) {
writingSocket->write(value++);
wait(WRITING_PERIOD);
}
}