GPS Bee i2c

Hi, I am interested in using the GPS Bee as an i2c device but can’t seem to get it to communicate/enable the DDC(i2c) port. My understanding is that I need to send it a message to begin sending data via i2c but I get nothing so far. Has someone attempted this or found examples of how to go about it?

[code]#include <Wire.h>

#define GPS_ADDRESS (0x42 << 1)

#define UPPER_REG 0xFD
#define LOWER_REG 0xFE
#define DATA_REG 0xFF

#define SYNC_CHAR_1 0xB5
#define SYNC_CHAR_2 0x62

#define NAV 0x01
#define RXM 0x02
#define ACK 0x05
#define CFG 0x06
#define MON 0x0A
#define AID 0x0B

/* CFG command IDs */
#define PRT 0x00

void setup() {
Serial.begin(9600);
delay(300);
Wire.begin();
GetPortCfg();
Wire.beginTransmission(GPS_ADDRESS);
Wire.send(DATA_REG);
Wire.endTransmission();

Wire.requestFrom(GPS_ADDRESS, 1);
if (Wire.available()) {
Wire.available();
byte data = Wire.receive();
Serial.println(data, HEX);
}
}

void loop() {
}

void PacketChecksum(byte packet[], int n){
byte ck_a = 0;
byte ck_b = 0;
int ck_a_byte = n-2;
int ck_b_byte = n-1;
for (int i = 0; i < n; i++) {
if (i > ck_a_byte) {
packet[ck_a_byte] = ck_a;
packet[ck_b_byte] = ck_b;
} else if (i < ck_a_byte) {
ck_a += packet[i];
ck_b += ck_a;
}
}
}

void SendPacket(byte packet[], int n){
PacketChecksum(packet, n);
Wire.beginTransmission(GPS_ADDRESS);
Wire.send(SYNC_CHAR_1);
Wire.send(SYNC_CHAR_2);
for (int i = 0; i < n; i++) {
Wire.send(packet[i]);
}
Wire.endTransmission();
}

void GetPacket(){
Wire.beginTransmission(GPS_ADDRESS);
Wire.send(UPPER_REG);
Wire.endTransmission();

Wire.requestFrom(GPS_ADDRESS, 1);
if (Wire.available()) {
byte upper_available = Wire.receive();
Serial.println(upper_available, BIN);
}

Wire.beginTransmission(GPS_ADDRESS);
Wire.send(LOWER_REG);
Wire.endTransmission();

Wire.requestFrom(GPS_ADDRESS, 1);
if (Wire.available()) {
Wire.available();
byte lower_available = Wire.receive();
Serial.println(lower_available, BIN);
}
}

void GetPortCfg(){
byte config[] = {CFG, PRT, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
SendPacket(config, 26);
byte command[] = {CFG, PRT, 0x00, 0x01, 0x00, 0x00, 0x00};
SendPacket(command, 7);
//byte packet[] = {0x06, 0x00, 0x14, 0x00, 0x01, 0x00, 0x00, 0x00, 0xD0, 0x08, 0x00, 0x00, 0x80, 0x25, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
//SendPacket(packet, 26);
GetPacket();
}[/code]

Haven’t tried with I2C, :cry: