That part seems to run now. I must have had some issue with the serial monitor. However, in the following code. If I add 1 more element to the array sbuf (add "REFin")and change sbuf to sbuf[66]. The serial monitor only shows yes. It seemed to work earlier and i had the same problem when adding "Disable" and changing sbuf to sbuf[67].
A good run would display the following:
yes
0.333333333333333
11359573.333333333333333
0.677083333333333
110.677083333333333
6799999999.999999979520000
Hard to debug if it compiles but hangs when being displayed. Thanks for any help.
//#include <SoftwareSerial.h>
//#include <print.h>
//#include <print.cpp>
//#include <ProfileTimer.h>
#include <BigNumber.h>
//#include <BigNumber.cpp>
//BigNumber::begin(); //initialize library
void setup() {
Serial.begin (9600);
Serial.println ();
Serial.println ();
BigNumber::begin (20); // initialize library
BigNumber::setScale (15);
int R0[32] = {0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,0}; // default 0x02006E0
int R1[32] = {0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0,1}; // default 0x0AD5551
int R2[32] = {0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0}; // default 0x08006002
int R3[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1}; // default 0x00000003
int R4[32] = {0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,0,0,0,1,0,0}; // default 0x32008B84
int R5[32] = {0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1}; // default 0x000800025
int R6[32] = {0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,1,1,0,1,1,0}; // default 0x035012076
int R7[32] = {0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1}; // default 0x012000007
int R8[32] = {0,0,0,1,0,0,0,0,0,0,1,0,1,1,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0}; // default 0x0102D0428
int R9[32] = {0,0,0,1,1,0,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,1,0,0,1}; // default 0x01A19FCC9
int R10[32] = {0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,1,1,0,1,0,1,1,1,0,1,0}; // default 0x000C026BA
int R11[32] = {0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,0,1,1}; // default 0x00061300B
int R12[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0}; // default 0x00000041C
String sbuf[66] = {"68","00.0","000","00","122","880","000","1","N","Y","Enable","Disable",
"110","11","359","573","512","1536","16","777","216","61","44","110","677","0833","3333","3333","6800","000","000","1","Enable","4/5","2006E0",
"AD5551", "8006002", "Disable", "Disable", "Disable", "0", "3", "Digital Lock Detect", "Disable", "0.900", "Differential", "3.0v", "Positive", "Disable", "Disable", "Disable", "32008B84",
"800025", "Fundamental", "Enable", "9", "Disable", "Enable", "Enable", "+5dBm", "Enable", "Disable",
"35012076"};// "REFin", "Disable" ,"5.0ns","Frac-N", "12000007", "102D0428", "Enable", "26", "103"
// "30", "12", "2840", "592", "1A19FCC9", "Enable", "154", "99", "417", "Enable", "Enable", "C026BA", "613008", "0", "0", "41C", "60", "00.0", "000", "00", "60", "10.0", "000", "00", "1", "100", "40", "00.0", "000", "00", "41", "00.0", "000", "00", "100", "1"};
// test multiplication
BigNumber Integer = 110;
BigNumber FRAC1 = "11359573";
BigNumber FRAC2 = "512";
BigNumber MOD2 = "1536";
BigNumber MOD1 = "16777216";
BigNumber PFD = "61440000";
// test multiplication
Serial.println ("yes");
BigNumber N11 = FRAC2 / MOD2;
BigNumber N1 = FRAC1 + N11;
BigNumber N2 = N1/MOD1;
BigNumber N3 = Integer + N2;
BigNumber N4 = PFD * N3;
Serial.println (N11);
Serial.println (N1);
Serial.println (N2);
Serial.println (N3);
Serial.println (N4);
}
void loop () { }