void led_matrix_disp_string(VMINT8 uData[],VMUINT8 uDataLength,VMUINT16 uTime) { ///* VMINT8 buffer[20] = {0}; VMUINT8 i; if(uDataLength > 4)return; buffer[0] = uDataLength; for(i=0;i<uDataLength;i++)buffer[i + 1] = *(uData ++); buffer[i+1] = uTime >> 8; buffer[i+2] = uTime; dlc_i2c_configure(LEDAddress, 100); dlc_i2c_send(DISP_STRING, buffer, uDataLength + 3); //*/ /* masterBegin(); beginTransmission(LEDAddress); write(DISP_STRING); write(uDataLength); write_ext((VMINT8*)uData,uDataLength); write(uTime>>8); //high byte of time write(uTime); //low byte of time endTransmission(); */ }
void led_matrix_disp_pic(VMUINT8 uPicNum, VMUINT16 uTime) { VMUINT8 buffer[3] = {0}; buffer[0] = uPicNum; buffer[1] = uTime >> 8; buffer[2] = uTime; dlc_i2c_configure(LEDAddress, 100); dlc_i2c_send(DISP_PIC, buffer, 3); }
float gps_get_latitude(void) { unsigned char data[GPS_LATITUDE_SIZE+2]; unsigned char i; dlc_i2c_configure(GPS_DEVICE_ADDR, 100); dlc_i2c_send_byte(GPS_LATITUDE_ID); for(i=0;i<(GPS_LATITUDE_SIZE+2);i++) { data[i] = dlc_i2c_receive_byte(); } return atof(&data[2]); }
unsigned char gps_get_status(void) { unsigned char data[GPS_STATUS_SIZE+2]; unsigned char i; dlc_i2c_configure(GPS_DEVICE_ADDR, 100); dlc_i2c_send_byte(GPS_STATUS_ID); for(i=0;i<(GPS_STATUS_SIZE+2);i++) { data[i] = dlc_i2c_receive_byte(); } return data[2]; }
unsigned char gps_get_sate_in_veiw(void) { unsigned char data[GPS_SATE_IN_VIEW_SIZE+2]; unsigned char i; dlc_i2c_configure(GPS_DEVICE_ADDR, 100); dlc_i2c_send_byte(GPS_SATE_IN_VIEW_ID); for(i=0;i<(GPS_SATE_IN_VIEW_SIZE+2);i++) { data[i] = dlc_i2c_receive_byte(); } return data[2]; }
unsigned char gps_get_position_fix(void) { unsigned char data[GPS_POSITION_FIX_SIZE+2]; unsigned char i; dlc_i2c_configure(GPS_DEVICE_ADDR, 100); dlc_i2c_send_byte(GPS_POSITION_FIX_ID); for(i=0;i<(GPS_POSITION_FIX_SIZE+2);i++) { data[i] = dlc_i2c_receive_byte(); } return data[2]; }
unsigned char gps_get_ew(void) { unsigned char data[GPS_EW_SIZE+2]; unsigned char i; dlc_i2c_configure(GPS_DEVICE_ADDR, 100); dlc_i2c_send_byte(GPS_EW_ID); for(i=0;i<(GPS_EW_SIZE+2);i++) { data[i] = dlc_i2c_receive_byte(); } if(data[2] == 'E' || data[2] == 'W')return data[2]; else return data[2] = '-'; }
unsigned char gps_check_online(void) { unsigned char data[GPS_SCAN_SIZE+2]; unsigned char i; dlc_i2c_configure(GPS_DEVICE_ADDR, 100); dlc_i2c_send_byte(GPS_SCAN_ID); for(i=0;i<(GPS_SCAN_SIZE+2);i++) { data[i] = dlc_i2c_receive_byte(); } if(data[5] == GPS_DEVICE_ADDR)return 1; else return 0; }
unsigned char* gps_get_utc_date_time(void) { unsigned char data[GPS_UTC_DATE_TIME_SIZE+2]; unsigned char i; dlc_i2c_configure(GPS_DEVICE_ADDR, 100); dlc_i2c_send_byte(GPS_UTC_DATE_TIME_ID); for(i=0;i<(GPS_UTC_DATE_TIME_SIZE+2);i++) { data[i] = dlc_i2c_receive_byte(); } for(i=0;i<GPS_UTC_DATE_TIME_SIZE;i++) gps_utc_date_time[i] = data[i+2]; return gps_utc_date_time; }
void led_matrix_disp_char(VMUINT8 uData,VMUINT16 uTime) { ///* VMUINT8 buffer[3] = {0}; buffer[0] = uData; buffer[1] = uTime >> 8; buffer[2] = uTime; dlc_i2c_configure(LEDAddress, 100); dlc_i2c_send(DISP_CHAR_5X7, buffer, 3); //*/ /* beginTransmission(LEDAddress); write(DISP_CHAR_5X7); write(uData); write(uTime>>8); //high byte of time write(uTime); //low byte of time endTransmission(); */ }
unsigned char gps_get_sate_used(void) { unsigned char data[GPS_SATE_USED_SIZE+2]; unsigned char i; unsigned char value; dlc_i2c_configure(GPS_DEVICE_ADDR, 100); dlc_i2c_send_byte(GPS_SATE_USED_ID); for(i=0;i<(GPS_SATE_USED_SIZE+2);i++) { data[i] = dlc_i2c_receive_byte(); } if(data[3] >= '0' && data[3] <= '9')value = (data[3] - '0') * 10; else value = 0; if(data[2] >= '0' && data[2] <= '9')value += (data[2] - '0'); else value += 0; return value; }
VMUINT8 led_matrix_check_on_line() { VMUINT8 DataBuf[4] = {0}; dlc_i2c_configure(LEDAddress, 100); DataBuf[0] = dlc_i2c_receive_byte(NULL); DataBuf[1] = dlc_i2c_receive_byte(NULL); DataBuf[2] = dlc_i2c_receive_byte(NULL); DataBuf[3] = dlc_i2c_receive_byte(NULL); //m_log_info("led matrix check data is %x %x %x %x",DataBuf[0],DataBuf[1],DataBuf[2],DataBuf[3]); if(DataBuf[3] == LEDAddress) { //vm_log_info("led matrix is on line."); return TRUE; } else { //vm_log_info("led matrix is not on line."); return FALSE; } }
void led_matrix_power_down() { dlc_i2c_configure(LEDAddress, 100); dlc_i2c_send_byte(POWER_DOWN); }
void led_matrix_set_disp_orientation(VMUINT8 orientation) { dlc_i2c_configure(LEDAddress, 100); dlc_i2c_send(SET_DISP_ORIENTATION, &orientation, 1); }