 	/**
 	* Start, now inits invert and output bit enable, clears outputs
 	*/
-	coreJ2reg.begin();
+	coreJ2reg.begin();	// join I2C as master
 	coreJ3reg.begin();
 	coreJ4reg.begin();
-//	coreFETreg.begin();
 	
 	// outmask, outdata, inputinvert
-//	coreJ2reg.init(OUTMASK, (SCLK | RCLK595 | LED), 0);
-//	coreJ3reg.init(OUTMASK, (SCLK | RCLK595 | LED), 0);
-//	coreJ4reg.init(OUTMASK, (SCLK | RCLK595 | LED), 0);
-
+//	coreJ2reg.init(OUTMASK, LED, 0);	// all outputs low, LED off
+//	coreJ3reg.init(OUTMASK, LED, 0);
+//	coreJ4reg.init(OUTMASK, LED, 0);
+	JX_init();			// initialize the three JX 9557 registers
 	coreFETs.init ();
 
 #ifdef USE_CLASS

	Serial.println(coreJ2.DC_data_in, HEX);

#else
	if (0x8000 & J2_data.AC_data_out)			// when the '1' is in the MSB (bit 31)
		{
		J2_data.AC_data_out = 0;				// clear so there is only one '1'
		J2_data.DC_data_out = 1;				// shift the '1' to lsb of DC data
		J3_data.AC_data_out = 0;				// clear so there is only one '1'
		J3_data.DC_data_out = 1;				// shift the '1' to lsb of DC data
		J4_data.AC_data_out = 0;				// clear so there is only one '1'
		J4_data.DC_data_out = 1;				// shift the '1' to lsb of DC data
		}
	else if (0x8000 & J2_data.DC_data_out)		// when the '1' is in the DC board's MSB (bit 15)
		{
		J2_data.AC_data_out = 1;				// shift the '1' to lsb of DC data
		J2_data.DC_data_out = 0;				// clear so there is only one '1'
		J3_data.AC_data_out = 1;				// shift the '1' to lsb of DC data
		J3_data.DC_data_out = 0;				// clear so there is only one '1'
		J4_data.AC_data_out = 1;				// shift the '1' to lsb of DC data
		J4_data.DC_data_out = 0;				// clear so there is only one '1'
		}
	else
		{
		J2_data.AC_data_out <<= 1;			// shift both registers toward msb
		J2_data.DC_data_out <<= 1;
		J3_data.AC_data_out <<= 1;			// shift both registers toward msb
		J3_data.DC_data_out <<= 1;
		J4_data.AC_data_out <<= 1;			// shift both registers toward msb
		J4_data.DC_data_out <<= 1;
		}

	J2_update ();						// do it
	J3_update ();						// do it
	J4_update ();						// do it
	Serial.println(J4_data.DC_data_in, HEX);
#endif


	coreJ2.update ();					// do it
//	coreJ3.update (coreJ3reg);			// do it
//	coreJ3.update (coreJ4reg);			// do it
	coreJ2.AC_data_out = 0x8000;		// setup for walking-ones test
//	coreJ3.AC_data_out = 0x8000;		// setup for walking-ones test
//	coreJ3.AC_data_out = 0x8000;		// setup for walking-ones test
#else
	J2_data.outdata.as_word = 0;		// clear DC and AC 595 registers
	J3_data.outdata.as_word = 0;
	J4_data.outdata.as_word = 0;

	J2_update ();						// do it
	J3_update ();						// do it
	J4_update ();						// do it

	J2_data.outdata.as_word = 0x80000000;	// setup for walking-one test
	J3_data.outdata.as_word = 0x80000000;
	J4_data.outdata.as_word = 0x80000000;

#endif
	coreFETs.FET_settings = 0x80;		// init for walking-one test
	}


//---------------------------< L O O P >----------------------------------------------------------------------
