#include "RCX_RTE.h"

#define port7_addr  0xffbe
#define port7       *((volatile byte *) port7_addr)
#define Prgm        ! ( port7 & ( 1 << 7 ) )
#define msCount     100
#define View        ! ( port7 & ( 1 << 6 ) )
#define port4_addr  0xffb7
#define port4       *((volatile byte *) port4_addr)
#define Run         ! ( port4 & ( 1 << 2 ) )
#define OnOff       ! ( port4 & ( 1 << 1 ) )


/* A/D converter */

    #define byte        unsigned char
    #define word        unsigned short int

    #define ADCR  *((volatile byte *) 0xffe9) /* A/D Control Register*/
    #define ADCSR *((volatile byte *) 0xffe8) /* A/D Control Status Register*/
    #define ADDRA *((volatile word *) 0xffe0) /* A/D Data Register A */

void delay(int16 ms) 
{
  int16 i;
  while( ms > 0){
     for(i=0; i<msCount; i++);
     ms--;
 
  }
}
void _start(void) 
{ int16 minVal=15;
int16 maxVal =18; 
int16 Val=16;  

ADCSR &=~(1<<4); /* ADCSR.bit 4 = 0, single shot mode */
  while (! Prgm){
    while (! View){
       
ADCSR |=(1<<5); /* ADCSR.bit 5 = 1, start A/D conversion */
       delay(1000);    
       lcd_show_int16((int16)( 86-( (ADDRA >> 6) & 0x3ff)/8));
       Val = ( 86-( (ADDRA >> 6) & 0x3ff)/8);
       if (Val < minVal) minVal = Val;
       if (Val > maxVal) maxVal = Val;
    };
    lcd_show_int16(minVal);
    delay(8000);
    lcd_show_int16(maxVal);
 
}
  RCX_Reset(); /*både view og prgm skal være trykket ned */
}       
