/*sensor-test*/
#include "m9402.h"
void sensor_test();
void inzt09()
{
sys0(9,0x1100);
/* sys1(9,1,0,0);*//*ishikawa 1/26*/
}
void nrmt09(aa,bb)
int aa,bb;
{
extern unsigned int mmi_iivseg;
int a, b, c, d, DIP ,disp_count;
static int y, z;
DIP = ((inportb(PBDR0))&0x0f);
if (DIP <= 0x07) {
switch (DIP) {
case 0x02: /*infrared*/
mmi_iivseg=0;
a= sys9(1,1);
d = a & 0xc0;
switch (d) {
case 0x40: mmi_iivseg += 1;
break;
case 0x80: mmi_iivseg += 2;
break;
case 0xc0: mmi_iivseg += 3;
break;
}
/* if (a & 0xc0) mmi_iivseg |= 300;
else if (a & 0x80) mmi_iivseg |= 200;
else if (a & 0x40) mmi_iivseg |= 100; */
d = a & 0x06;
switch (d) {
case 0x04: mmi_iivseg += 100;
break;
case 0x02: mmi_iivseg += 200;
break;
case 0x06: mmi_iivseg += 300;
break;
}
/* if (a & 0x06) mmi_iivseg |= 3;
else if (a & 0x02) mmi_iivseg |= 2;
else if (a & 0x04) mmi_iivseg |= 1; */
d = a & 0x38;
switch (d) {
case 0x10: mmi_iivseg += 10;
break;
case 0x20: mmi_iivseg += 20;
break;
case 0x08: mmi_iivseg += 30;
break;
case 0x30: mmi_iivseg += 40;
break;
case 0x18: mmi_iivseg += 50;
break;
case 0x38: mmi_iivseg += 60;
break;
}
/* if (a & 0x38) mmi_iivseg |= 60;
else if (a & 0x18) mmi_iivseg |= 50;
else if (a & 0x30) mmi_iivseg |= 40;
else if (a & 0x08) mmi_iivseg |= 30;
else if (a & 0x20) mmi_iivseg |= 20;
else if (a & 0x10) mmi_iivseg |= 10; */
break;
case 0x03: /*touch sensor*/
a = sys9(3,1);
mmi_iivseg = a;
break;
case 0x04: /*supersonic sensor*/
a = sys9(2,1);
b = sys9(2,3);
c = sys9(2,2);
disp_count = sys9(0,3);
if (disp_count >= 1000) {
sys8(0,3,0);/*2/2 ishikawa*/
switch (z) {
case 1: /*right*/
mmi_iivseg = a;
mmi_iivseg += 1000;
z = 2;
break;
case 2: /*left*/
mmi_iivseg = b;
mmi_iivseg += 2000;
z = 3;
break;
case 3: /*forward*/
mmi_iivseg = c;
mmi_iivseg += 3000;
z = 1;
break;
default:z=1;
break;
}
}
break;
case 0x05: /*US-right*/
a = sys9(2,1);
mmi_iivseg = a;
break;
case 0x06: /*US-left*/
a = sys9(2,3);
mmi_iivseg = a;
break;
case 0x07: /*US-forward*/
a = sys9(2,2);
mmi_iivseg = a;
break;
}
}
sys1(6,1,0,0);
sys1(9,1,0,0);
}
void timt09(a,b)
int a, b;
{}
void intt09(a,b)
int a, b;
{}
ŠJ”‹K–ñ‚É–ß‚é