#include "picsys18.h"

void
setup()
{
	pinMode(LED1, OUTPUT) ;
	pinMode(LED2, OUTPUT) ;
	digitalWrite(LED1, LOW) ;
	digitalWrite(LED2, LOW) ;

	pinMode(SW1, INPUT) ;
	pinMode(SW2, INPUT) ;
	pinMode(SW3, INPUT) ;
	pinMode(SW4, INPUT) ;
	pinMode(SW5, INPUT) ;
	
	analogReference(EXTERNAL) ;
	
	USB_begin() ;
}


void loop()
{
    int v ;
    float temp ; // 温度の計算は実数で
	
	if (USB_attached()) {
		digitalWrite(LED2, HIGH) ;
		USB_putc(digitalRead(SW1) ? '0' : '1') ;
		USB_putc(digitalRead(SW2) ? '0' : '1') ;
		USB_putc(digitalRead(SW3) ? '0' : '1') ;
		USB_putc(digitalRead(SW4) ? '0' : '1') ;
		USB_putc(digitalRead(SW5) ? '0' : '1') ;

		v = analogRead(PHOTO_SENSOR) ;
		USB_putrs(", ") ;
		USB_puti(v) ;
		
		USB_putrs(", ") ;

    	v = analogRead(TEMP_SENSOR) ;
    	temp = 2.5 / 1024 * v ;  // 読み取った値を電圧に換算
    	temp -= 0.4 ;  // 温度センサーの0度のオフセット:400mV
    	temp /= 0.01953 ; // １度あたり19.53mVの電圧増加
		USB_putf(temp, 1) ;

		USB_putrs("\r\n") ;
	} else {
		digitalWrite(LED2, LOW) ;
	}
	
	delayMilliseconds(100) ;
	digitalWrite(LED1, ((int)millis()) & 0x200) ;
}
