Skip to content

Commit

Permalink
only show R if first bit is 0, only show decimal if first bit is 1
Browse files Browse the repository at this point in the history
  • Loading branch information
dennis97519 committed Feb 19, 2018
1 parent e4650e5 commit 17d85ff
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions serialbitbang/MainForm.h
Original file line number Diff line number Diff line change
Expand Up @@ -217,14 +217,16 @@ namespace serialbitbang {
Void readSerialUpdate(Object^,ProgressChangedEventArgs^ e){
unsigned char c=e->ProgressPercentage;
char hex[10];
sprintf_s(hex,"0x%02x, %3u",c,c);
if((c&0x80)!=0)sprintf_s(hex,"0x%02x, %3u",c,c&0x7f);//ignore first bit when getting decimal interpretation
else sprintf_s(hex,"0x%02x, ",c);
String^ hexstr=gcnew String(hex);
String^ binstr=gcnew String(std::bitset<sizeof(c) * 8>(c).to_string().c_str());
String^ schar = (gcnew Char(c))->ToString();
c=((0x30&c)>>1)|(7&c);
sprintf_s(hex,"%02x",c);
unsigned char rc=((0x30&c)>>1)|(7&c);
sprintf_s(hex,"%02x",rc);
String^ r=gcnew String(hex);
serialRecv->AppendText(binstr+", R=0x"+r+", "+hexstr+", '"+ schar+"'\r\n");
if((c&0x80)==0)serialRecv->AppendText(binstr+", "+hexstr+", '"+ schar+"'"+", R=0x"+r+ "\r\n");
else serialRecv->AppendText(binstr+", "+hexstr+", '"+ schar+"'\r\n");
}

Void readSerial(System::Object^ sender, DoWorkEventArgs^ e ){
Expand Down

0 comments on commit 17d85ff

Please sign in to comment.