/* program to take several readings of the Scribbler 2 light sensors */
#include <stdio.h>
#include <MyroC.h>

int
main (void)
{
  /* preliminaries */
  printf ("reporting readings of the Scribbler 2 light sensors\n");
  rConnect ("/dev/rfcomm0");

  /* part 1:  take readings and report */
  int light_reading_1 = rGetLightTxt ("left", 1);    /* take readings */
  int light_reading_2 = rGetLightTxt ("left", 1);
  int light_reading_3 = rGetLightTxt ("left", 1);
  int light_reading_avg = (light_reading_1 + light_reading_2 +
                           light_reading_3)/3;
  /* report results */
  printf ("reading 1 for left sensor: %d\n", light_reading_1);
  printf ("reading 2 for left sensor: %d\n", light_reading_2);
  printf ("reading 3 for left sensor: %d\n", light_reading_3);

  printf ("average of first three readings:  %d\n", light_reading_avg);
  printf ("separate average of three readings:  %d\n",
          rGetLightTxt ("left", 3));

  /* part 2:  report if reading is bright */
  if (light_reading_avg < 10000) {          /* illustrate simple if statement */
    printf ("light in area is bright\n");
  }

  if (light_reading_avg < 5000) {           /* illustrate if else statement */
    printf ("light in area is very bright\n");
  }
  else {
    printf ("sunglasses are not needed for this light\n");
  }

  /* part 3:  categorize amount of light in area */  
  if (light_reading_avg < 10000) {           /* illustrate else if sequence */
    printf ("light is quite bright\n");
  }
  else if (light_reading_avg < 20000) {
    printf ("light is moderately bright\n");
  }
  else if (light_reading_avg < 30000) {
    printf ("light is somewhat bright\n");
  }
  else if (light_reading_avg < 40000) {
    printf ("light is somewhat dim\n");
  }
  else {
    printf ("light is quite dim\n");
  }

  /* finish up */
  rDisconnect ();
  return 0;
} // main
