Convert passed string value to hex representation for serial.write
i have been working on project while , can't seem conversion of data-type.  sending data via serial control device. 
currently output static uses format. works fine way
serial.write(0x14);
serial.write(0x43);
serial.write(0x90);
serial.write(0x00);
however, wish dynamically fill in hex values above long string. have string variable receives data external source mixed chars integers.
string args = "f14439000"
i able parse individual components of string, struggling trying figure out how them serial.write command represented hex value. i've tried , similar items stuck.
serial.write(args.substring(1,3),hex);
serial.write(args.substring(3,5),hex);
serial.write(args.substring(5,7),hex);
serial.write(args.substring(7,9),hex);
can please point me in right direction? including program below, however, spark.io device there unique lines of code platform.
rich
 							currently output static uses format. works fine way
serial.write(0x14);
serial.write(0x43);
serial.write(0x90);
serial.write(0x00);
however, wish dynamically fill in hex values above long string. have string variable receives data external source mixed chars integers.
string args = "f14439000"
i able parse individual components of string, struggling trying figure out how them serial.write command represented hex value. i've tried , similar items stuck.
serial.write(args.substring(1,3),hex);
serial.write(args.substring(3,5),hex);
serial.write(args.substring(5,7),hex);
serial.write(args.substring(7,9),hex);
can please point me in right direction? including program below, however, spark.io device there unique lines of code platform.
code: [select]
// #include statement automatically added spark ide
#include "liquidcrystal/liquidcrystal.h"
liquidcrystal lcd(6, 7, 5, 4, 3, 2);
int freq(string command);
void setup()
{
  lcd.begin(16,2);
  serial.begin(4800); // setup serial can monitor on screen
  serial1.begin(4800); // setup serial control device
  spark.function("urlcommand", docommand); // register spark function call via post
  delay(2000);
  lcd.clear();
  lcd.print(wifi.localip());
  delay(2000);
  lcd.clear();
}
void loop()
{
  lcd.setcursor(0,0);
  lcd.print(millis()/1000);
}
int docommand(string args)  // function automagically gets called upon matching post request.  args in post body param.
{
  
  //lcd.clear();
  int func = args.charat(0);
  
  if(func==102)  //f
  { 
    lcd.setcursor(1,1);
    lcd.print(args.substring(1,4));
    lcd.print(".");
    lcd.print(args.substring(4,7));
    lcd.print(".");
    lcd.print(args.substring(7,10));
    lcd.print(" mhz");
    serialfreq(args);
    return 1;
  }
  else if(func==109) //m
  {
    lcd.setcursor(11,0);
    lcd.print(args.substring(1));
    return 1;
  }
  else return 0;
}
void serialfreq(string myvars){
  serial.print(myvars.substring(1,3));
  serial.print(".");
  serial.print(myvars.substring(3,5));
  serial.print(".");
  serial.print(myvars.substring(5,7));
  serial.print(".");
  serial.print(myvars.substring(7,9));
  serial.print("...... ");
  
  const byte = myvars.substring(1,3).toint();
  const byte b = myvars.substring(3,5).toint();
  const byte c = myvars.substring(5,7).toint();
  const byte d = myvars.substring(7,9).toint();  
  
  serial1.write(a);
  serial1.write(b);
  serial1.write(c);
  serial1.write(d);
  
  
}rich
            						 					Arduino Forum  						 						 							 >   					Using Arduino  						 						 							 >   					Programming Questions  						 						 							 >   					Convert passed string value to hex representation for serial.write  						 					
arduino
 
  
Comments
Post a Comment