なんだかんだで、Muliusのソフトウェアは完成しました。あとはハードウェアの作成です!(ソフトウェアが最終的にどんなものになったかは後日)
しばらくぶりに、moxaと格闘中。まずは、すれ違った人から、何度も値を受け取らないようにするため、checkというbooleanに使える変数を用意したコード。
これはA用コード
//for A
serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);
var checkb= 1;
var checkc= 1;
var checkd= 1;
while(true) {
function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'b' && checka == 1){
serialSend("a"+"\r\n");
checkb = 0;
checkc = 1;
checkd = 1;
}else if(data == 'c' && checkb == 1){
serialSend("c"+"\r\n");
checkb = 1;
checkc = 0;
checkd = 1;
}else if(data == 'd' && checkd == 1){
serialSend("d"+"\r\n");
checka = 1;
checkb = 1;
checkd = 0;
}else{
}
}
radioSend(0xFFFF, 'a');
}
これはB用
//for B
serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);
var checka= 1;
var checkc= 1;
var checkd= 1;
while(true) {
function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'a' && checka == 1){
serialSend("a"+"\r\n");
checka = 0;
checkc = 1;
checkd = 1;
}else if(data == 'c' && checkb == 1){
serialSend("c"+"\r\n");
checka = 1;
checkc = 0;
checkd = 1;
}else if(data == 'd' && checkd == 1){
serialSend("d"+"\r\n");
checka = 1;
checkc = 1;
checkd = 0;
}else{
}
}
radioSend(0xFFFF, 'b');
}
serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);
var checka= 1;
var checkc= 1;
var checkd= 1;
while(true) {
function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'a' && checka == 1){
serialSend("a"+"\r\n");
checka = 0;
checkc = 1;
checkd = 1;
}else if(data == 'c' && checkb == 1){
serialSend("c"+"\r\n");
checka = 1;
checkc = 0;
checkd = 1;
}else if(data == 'd' && checkd == 1){
serialSend("d"+"\r\n");
checka = 1;
checkc = 1;
checkd = 0;
}else{
}
}
radioSend(0xFFFF, 'b');
}
これはC用
//for C
serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);
var checka= 1;
var checkb= 1;
var checkd= 1;
while(true) {
function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'a' && checka == 1){
serialSend("a"+"\r\n");
checka = 0;
checkb = 1;
checkd = 1;
}else if(data == 'b' && checkb == 1){
serialSend("b"+"\r\n");
checka = 1;
checkb = 0;
checkd = 1;
}else if(data == 'd' && checkd == 1){
serialSend("d"+"\r\n");
checka = 1;
checkb = 1;
checkd = 0;
}else{
}
}
radioSend(0xFFFF, 'c');
}
これはD用
//for D
serialInit(9600);
pinMode(0, true);
digitalWrite(0,true);
ain1 = analogRead(1);
radioInit(0xDDDD, 0, 11, 3);
var checka= 1;
var checkb= 1;
var checkc= 1;
while(true) {
function onRadioReceive(seq,src,pan,data,rss) {
if (data == 'a' && checka == 1){
serialSend("a"+"\r\n");
checka = 0;
checkb = 1;
checkc = 1;
}else if(data == 'b' && checkb == 1){
serialSend("b"+"\r\n");
checka = 1;
checkb = 0;
checkc = 1;
}else if(data == 'c' && checkd == 1){
serialSend("c"+"\r\n");
checka = 1;
checkb = 1;
checkc = 0;
}else{
}
}
radioSend(0xFFFF, 'd');
}
いまはmoxaが2台しかないので、aとbしか受け取っていないのですが、ターミナルから見てみるとこんな感じ。
0 件のコメント:
コメントを投稿