So I have a photon and a core, When I use the photon my code works. When i flip it out for the core with the same code it crashes and restarts. Code is below. Not really sure what is going on here.
Also using 4.7k resistors for pullups, have also tried 10k, I know the bus is functional as other i2c devices on the same bus still function.
int pic = 1;
void reqEv(){
//RGB.color(0, 255, 0);
if (pic != 0){
//grab and send picture here.
Wire.write(255);
Wire.write(0);
Wire.write(0);
}
}
void recEv(int bytes)
{
// RGB.color(0, 0, 255);
if (bytes >1){
int a = Wire.read();
switch(a){
case 01:
pic = Wire.read();
}
}
}
void setup()
{
Wire.setSpeed(CLOCK_SPEED_100KHZ);
Wire.begin(2);
Wire.onReceive(recEv);
Wire.onRequest(reqEv);
RGB.control(true);
RGB.color(255, 0, 0);
}
void loop()
{
delay(10);
}
Symptoms are the code runs through setup, Then seemingly when it gets an onReceive event it hangs and reboots (Led goes WHITE pulse -> Green flash -> Cyan flash -> Breath -> repeat)
So a little more investigating. When ever I pull D0 low, after initializing the Wire interface the core freezes, then reboots.
With out i2c being enabled the pin functions as normal.
SO I also tried the develop branch from the repository, No change in behavior either. That being said I AM setup to compile locally now and will probably start poking around the firmware, still at a loss here
With some preliminary poking it seems to not even enter the i2c intterupt handler, but I will also say I have not been able to solidly prove that yet. (that is with intterupts(); at the end of setup)
Hi…I have a core from the origional kickstarter project, however only recently have I had the time to sit down and play with the unit.
I did a firmware update (including the depp firmware update) and setup with a basic breadboard and a DHT22 to capture temp/humidity, my code flashes fine and runs however it appears to never be able to display the data on either serial or the particle console.