Exemple #1
0
/*
Desc: Displays a given bit pattern using the 4 LEDs and holds it for a given period
Inputs: int number - Number of to be lit
		long delay - Duration of the delay in s
*/
void displayBits(int number, long delay){
	int bitpos = 1;
	int num = 0;
	delay= delay*1000;
	/*test bit position 0 - if number is odd*/
	if((bitpos & number) == 1){
		lightLED(1);
	}

	/*test bit position 1 - AND with bin 2*/
	bitpos = 2;
	if((bitpos & number) == 2){
		lightLED(2);
	}

	/*test bit position 2 - AND with bin 3*/
	bitpos = 4;
	if((bitpos & number) == 4){
		lightLED(3);
	}

	/*test bit position 3 - AND with bin 4*/
	bitpos = 8;
	if((bitpos & number)== 8){
		lightLED(4);
	}

	SystickTimer(delay);

	killLED(1);
	killLED(2);
	killLED(3);
	killLED(4);
}
//Default function in MQTT paho (Runs when msg is received)
int msgarrvd(void *context, char *topicName, int topicLen, MQTTClient_message *message)
{
    int i;
    char* payloadptr;
    char messageText[message->payloadlen];

    printf("Message arrived\n");
    printf("     topic: %s\n", topicName);
    printf("   message: ");

    payloadptr = message->payload;
    for(i=0; i < message->payloadlen; i++)
    {
     //   putchar(*payloadptr++);
	  messageText[i] = *payloadptr++;
    }
	  messageText[i] = '\0';
    lightLED(messageText[0]);
    printf("%s",messageText);
    putchar('\n');
    MQTTClient_freeMessage(&message);
    MQTTClient_free(topicName);
    return 1;
}
Exemple #3
0
/*
Pre-Reqs:PrintLineToLCD(), KeypadTest(), global functionusetext, global userposition
Desc: Bunch of loops. First displays 1st and 2nd lines, then checks button presses to send corresponding lines
*/
void functiontext(){
      char button;
      PrintLineToLCD(functionusetext[0]);
      PrintLineToLCD(functionusetext[1]);
      SystickTimer(400);
      while (1){
        button = KeypadTest();
        if (button == '#'){
          userposition++;
          if (userposition>3){
            userposition = 0;
          }
          PrintLineToLCD(functionusetext[0]);
          PrintLineToLCD(functionusetext[userposition+1]);
        }
        else if (button == '*'){
          userposition-- ;
          if (userposition<0){
            userposition = 3;
          }
          PrintLineToLCD(functionusetext[0]);
          PrintLineToLCD(functionusetext[userposition+1]);
        }
        else if (button == '0'){
          userposition =0;
          return;
        }
        else if (button == '1'){
          double ircal10, ircal50;
          float uscal10, uscal50;
          userposition=0;
          PrintLineToLCD(functionusetext[6]);
          PrintLineToLCD(functionusetext[7]);
          SystickTimer(1500);
          PrintLineToLCD(functionusetext[8]);
          PrintLineToLCD(functionusetext[7]);
          while(1){
            button = KeypadTest();
            if (button == '#'){
              ircal10 = irMedianRaw();
              uscal10 = usScan();
              break;
            }
          }
          PrintLineToLCD(functionusetext[9]);
          PrintLineToLCD(functionusetext[7]);
          while(1){
            button = KeypadTest();
            if (button == '#'){
              ircal50 = irMedianRaw();
              uscal50 = usScan();
              break;
            }
          }
          if (whichSensor == 0){
            irCalibrate(ircal10, ircal50);
          }
          else{
            usCalibrate(uscal10, uscal50);
          }
          PrintLineToLCD(functionusetext[10]);
          PrintLineToLCD(" ");
          SystickTimer(1500);
          return;
        }
        else if (button == '2'){
          userposition =0;
          while (1){
            button = KeypadTest();
            PrintLineToLCD(functionusetext[5]);
            if (whichSensor == 0){
              irString();
              killLED(2);
              lightLED(3);
            }
            else if(whichSensor == 1){
              usString();
              killLED(3);
              lightLED(2);
            }
            if (button == '0'){
              break;
            }
        }
        }
        else if (button == '3'){
          userposition =0;
          return;
        }
        else if (button == '4'){
          userposition = 0;
          return;
        }

      }
}