A little controller that links to a radio to send commands to sailboat.

Dependencies:   SLCD- mbed tsi_sensor

main.cpp

Committer:
bclaus
Date:
2014-11-19
Revision:
0:dcad18121333

File content as of revision 0:dcad18121333:

#include "mbed.h"
#include "tsi_sensor.h"
#include "SLCD.h"

/* This defines will be replaced by PinNames soon */
#if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
  #define ELEC0 9
  #define ELEC1 10
#elif defined (TARGET_KL05Z)
  #define ELEC0 9
  #define ELEC1 8
#else
  #error TARGET NOT DEFINED
#endif

DigitalIn s1(PTC3);
DigitalIn s3(PTC12);

Serial radio(PTE0, PTE1);

SLCD slcd;

int main(void) {
    PwmOut led(LED_GREEN);
    TSIAnalogSlider tsi(ELEC0, ELEC1, 40);
    radio.baud(9600);
    float controlSail=0;
    float controlRudder=0;
    
    while (true) {
        if(!s1){
        slcd.clear();           // All segments off
        slcd.Home();            // sets next charater to posistion 0 (start)
        controlSail=tsi.readPercentage();
        led = 1.0 - controlSail;
        slcd.printf("S%2.2f",controlSail); // standard printf function, only charaters in ASCII_TO_WF_CODIFICATION_TABLE will display   
        radio.putc('s');         
        radio.putc((char)(controlSail*255));     
        }
        else if(!s3){
        slcd.clear();           // All segments off
        slcd.Home();            // sets next charater to posistion 0 (start)
        controlRudder=tsi.readPercentage();
        led = 1.0 - controlRudder;
        slcd.printf("R%2.2f",controlRudder); // standard printf function, only charaters in ASCII_TO_WF_CODIFICATION_TABLE will display
        radio.putc('r');    
        radio.putc((char)(controlRudder*255));    
            
        }  
        else{
        slcd.clear();           // All segments off
        slcd.Home();            // sets next charater to posistion 0 (start)
        slcd.putc('R'); // standard printf function, only charaters in ASCII_TO_WF_CODIFICATION_TABLE will display
        slcd.CharPosition=3;    // x=0 to 3, 0 is start position
        slcd.putc('S'); // standard printf function, only charaters in ASCII_TO_WF_CODIFICATION_TABLE will display
            
            }      
        wait(0.1);
    }
}