Hmm sorry to bother you again.
It will not let me write a seriel string into the array. Cant determine size of array?
Is there an easy way to do this?
Br Mogensen
#include <Wire.h>
#include <EEPROM.h>
#include <PString.h>
#include <LiquidCrystal.h> //JMO
#include <SoftwareSerial.h>
// Mega Board
///// LCD JMO //////////
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Create liquidCrystal JMO
////////////////////////////////////////////////////////////// software serial connections determine input and output of seriel ports/////////////////////////////////////////////////////////////////////////////////////////////////
const int RX1 = 19;
const int TX1 = 18;
const int RX2 = 17;
const int TX2 = 16;
// create SoftwareSerial objects
SoftwareSerial SoftSerialOne(RX1,TX1);
SoftwareSerial SoftSerialTwo(RX2,TX2);
int ReadFromSerielPort1 =0; //JMO data from port 2
int ReadFromSerielPort2 =0;
///////////////////////////////////////////////////////// Constants inputs outputs and registers /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int TSS440Running = 22;
boolean RTSS440Running;
boolean RTSS350Running;
//char data[] = ":SQ±LLLL VVVV AAAA±CCCC±SSS 1111 2222 3333 4444 5555 6666 QQ";
void setup() {
/// LCD BEGIN JMO //
lcd.begin(16, 2);
//////////////// JMO In / Out Defined ///////////////////////////////////
pinMode(TSS440Running,INPUT);
///////////////////////// setup the software serial pins /////////////////////////////////////
pinMode(RX1, INPUT);
pinMode(RX2, INPUT);
pinMode(TX1, OUTPUT);
pinMode(TX2, OUTPUT);
Serial.begin(9600);
SoftSerialOne.begin(9600);
SoftSerialTwo.begin(9600);
(SoftSerialOne.available() > 0) ;
char data[] = SoftSerialOne.read();
char s[2]; // will hold "S"
char q[2]; // will hold "Q"
char llll[6]; // will hold "±LLLL"
char vvvv[5]; // will hold "VVVV"
char aaaa[5]; // will hold "AAAA"
char cccc[6]; // will hold "±CCCC"
char sss[5]; // will hold "±SSS"
char a1111[5]; // will hold "1111"
char a2222[5]; // will hold "2222"
char a3333[5]; // will hold "3333"
char a4444[5]; // will hold "4444"
char a5555[5]; // will hold "5555"
char a6666[5]; // will hold "6666"
char qq[3]; // will hold "QQ"
// clear all arrays; also takes care of string terminator so we don't have to worry about it.
memset(s, 0, sizeof(s));
memset(q, 0, sizeof(q));
memset(llll, 0, sizeof(llll));
memset(vvvv, 0, sizeof(vvvv));
memset(aaaa, 0, sizeof(aaaa));
memset(cccc, 0, sizeof(cccc));
memset(sss, 0, sizeof(sss));
memset(a1111, 0, sizeof(a1111));
memset(a2222, 0, sizeof(a2222));
memset(a3333, 0, sizeof(a3333));
memset(a4444, 0, sizeof(a4444));
memset(a5555, 0, sizeof(a5555));
memset(a6666, 0, sizeof(a6666));
memset(qq, 0, sizeof(qq));
//char data[] = ":<S1><Q2><±LLLL3> <VVVV10> <AAAA15><±CCCC20><±SSS 1111 2222 3333 4444 5555 6666 QQ";
//char data[] = ":SQ±LLLL VVVV AAAA±CCCC±SSS 1111 2222 3333 4444 5555 6666 QQ";
// 1-2-3 - 9 - 14 - 18 - 23 -28- 33 -38 - 43 -48 - 53 -58
// copy the data to their respective variables
memcpy(s, &data[1], sizeof(s) - 1); // copy one character from position 1 in data
memcpy(q, &data[2], sizeof(q) - 1); // copy one character from position 2 in data
memcpy(llll, &data[3], sizeof(llll) - 1); // copy five characters from position 3 in data
memcpy(vvvv, &data[9], sizeof(vvvv) - 1); // copy four characters from position 9 in data
memcpy(aaaa, &data[14], sizeof(aaaa) - 1); // copy four characters from position 14 in data
memcpy(cccc, &data[18], sizeof(cccc) - 1); // copy five characters from position 18 in data
memcpy(sss, &data[23], sizeof(sss) - 1); // copy four characters from position 23 in data
memcpy(a1111, &data[28], sizeof(a1111) - 1); // copy four characters from position 28 in data
memcpy(a2222, &data[33], sizeof(a2222) - 1); // copy four characters from position 33 in data
memcpy(a3333, &data[38], sizeof(a3333) - 1); // copy four characters from position 38 in data
memcpy(a4444, &data[43], sizeof(a4444) - 1); // copy four characters from position 43 in data
memcpy(a5555, &data[48], sizeof(a5555) - 1); // copy four characters from position 48 in data
memcpy(a6666, &data[53], sizeof(a6666) - 1); // copy four characters from position 53 in data
memcpy(qq, &data[58], sizeof(qq) - 1); // copy two characters from position 58 in data
Serial.begin(9600);
Serial.print("s: "); Serial.println(s);
Serial.print("q: "); Serial.println(q);
Serial.print("llll: "); Serial.println(llll);
Serial.print("vvvv: "); Serial.println(vvvv);
Serial.print("aaaa: "); Serial.println(aaaa);
Serial.print("cccc: "); Serial.println(cccc);
Serial.print("sss: "); Serial.println(sss);
Serial.print("a1111: "); Serial.println(a1111);
Serial.print("a2222: "); Serial.println(a2222);
Serial.print("a3333: "); Serial.println(a3333);
Serial.print("a4444: "); Serial.println(a4444);
Serial.print("a5555: "); Serial.println(a5555);
Serial.print("a6666: "); Serial.println(a6666);
Serial.print("qq: "); Serial.println(qq);
}
void loop() {
////////////////////////////// TSS 440 ////////////////////////////////////
}