/* This function loops forever --------------------------------------------*/
void loop()
{
	if (millis() - old_time >= 500){
		socValue = FUEL.getSoC();

		PMIC.setInputCurrentLimit(500);
	//D0 to D7
		for(uint8_t i = 0;i<8;i++){
			digitalWrite(i,!digitalRead(i));
		}

		//A0 to A5
		for(uint8_t i = 10;i<17;i++){
			digitalWrite(i,!digitalRead(i));
		}

		//B0 to B5, C0 to C5
		for(uint8_t i = 24;i<36;i++){
			digitalWrite(i,!digitalRead(i));
		}
		old_time = millis();
	}

	if (millis() - pubSoc >= 5*60000){
		Particle.publish("soc"+deviceName, String(FUEL.getSoC()), 120, PRIVATE);
		pubSoc = millis();
	}

}
/* This function is called once at start up ----------------------------------*/
void setup()
{
	if (System.deviceID() == "5b0033000e51343035353132")
		deviceName = "-3g";

	RGB.brightness(10);
	Serial.begin(9600);
	PMIC.begin();
	FUEL.quickStart();
	Serial.println("");

	//D0 to D7
	for(uint8_t i = 0;i<8;i++){
		pinMode(i,OUTPUT);
		digitalWrite(i,LOW);
	}

	//A0 to A5
	for(uint8_t i = 10;i<17;i++){
		pinMode(i,OUTPUT);
		digitalWrite(i,LOW);
	}

	//B0 to B5, C0 to C5
	for(uint8_t i = 24;i<36;i++){
		pinMode(i,OUTPUT);
		digitalWrite(i,LOW);
	}

	electronMDM.setDebug(3); // enable this for debugging issues

	delay(3000);
    DEBUG_D("\e[0;36mHello from the Electron! Boot time is: %d\r\n",millis());

	Particle.connect(); // blocking call to connect

	//Register all the Tinker functions
	Particle.function("digitalread", tinkerDigitalRead);
  Particle.function("digitalwrite", tinkerDigitalWrite);

	Particle.function("analogread", tinkerAnalogRead);
	Particle.function("analogwrite", tinkerAnalogWrite);
	Particle.variable("soc",&socValue,DOUBLE);
	Particle.variable("test","test-string",STRING);

	PMIC.setInputCurrentLimit(150);
}
示例#3
0
/* This function is called once at start up ----------------------------------*/
void setup()
{
    RGB.control(true);
    RGB.color(0,0,255);
    delay(1000);
    Serial1.begin(9600);
    delay(200);
    power.begin();
    delay(500);

    Serial1.println("Disabling PMIC watchdog timer");
    power.disableWatchdog();
    delay(50);

    //Serial1.println("Enabling OTG/PMID");
    //power.enableOTG();
    //delay(50);

    //Serial1.println("disabling buck regulator");
    //power.disableBuck();
    //delay(50);


    Serial1.print("power on returned:");
    Serial1.println(electronMDM.powerOn("8934076500002587657"));
    //setupPower();
    //delay(200);
    //fuel.sleep();

    /*
    RGB.color(0,0,255);
    delay(200);
    RGB.color(0,255,0);
    delay(200);
    RGB.color(255,0,0);
    delay(200);
    RGB.color(0,0,0);
   
    power.begin();
    delay(100);

    if (fuel.getVersion() == 3) {
        RGB.color(0,255,0);
    }
    else {
        RGB.color(255,0,0);
    }
    delay(2000);
    fuel.sleep();
    delay(100);
*/
    //electronMDM.powerOff();
    
    //System.sleep(SLEEP_MODE_DEEP,60);
    //setupPower();

    //electronMDM.setDebug(3); // enable this for debugging issues

    //delay(3000);
    //DEBUG_D("\e[0;36mHello from the Electron! Boot time is: %d\r\n",millis());

    //Particle.connect(); // blocking call to connect

    //Register all the Tinker functions
    //Particle.function("digitalread", tinkerDigitalRead);
    //Particle.function("digitalwrite", tinkerDigitalWrite);

    //Particle.function("analogread", tinkerAnalogRead);
    //Particle.function("analogwrite", tinkerAnalogWrite);

    //Particle.function("sleep",sleep);
    

    //Particle.connect(); // blocking call to connect


    //Serial1.begin(9600);
    //Serial1.println("Setup complete");
    //delay(1000);

    Serial1.print("Fuel Gauge Version Number: ");
    Serial1.println(fuel.getVersion());
    delay(200);
    
    fuel.sleep();
    delay(200);

    //Serial1.print("power off returned:");
    //Serial1.println(electronMDM.powerOff());
}
示例#4
0
void sleep_fuel_gauge()
{
    FuelGauge gauge;

    gauge.sleep();
}