Exemplo n.º 1
0
void readrom()          //read the serial
{
  uchar sn1,sn2;
  dsreset();
  delay(1);
  tmpwritebyte(0x33);
  sn1=tmpread();
  sn2=tmpread();
}
Exemplo n.º 2
0
//获取DS18B20温度值
uint tmp()               
{
  float tt;
  uchar a,b;
  dsreset();
  delay(1);
  tmpwritebyte(0xcc);
  tmpwritebyte(0xbe);
  a=tmpread();
  b=tmpread();
  temp=b;
  temp<<=8;             //two byte  compose a int variable
  temp=temp|a;
  tt=temp*0.0625;
  temp=tt*10+0.5;
  return temp;
}
Exemplo n.º 3
0
TIFILE_t* ImportVarData(FILE *infile, TIFILE_t *tifile, int varNumber) {
	switch (tifile->type) {
		case ROM_TYPE:
			return ImportROMFile(infile, tifile);
		case FLASH_TYPE:
			return ImportFlashFile(infile, tifile);
		case SAV_TYPE:
			tifile->save = ReadSave(infile);
			if (!tifile->save)
				return FreeTiFile(tifile);
			tifile->model = tifile->save->model;
			return tifile;
	}

	int i, tmp;
	unsigned short headersize;
	unsigned short length;
	unsigned char vartype, *ptr;

	if (varNumber == 0) {
		tmpread(infile);
		length2 = tmp;
		tmpread(infile);
		length2 += tmp << 8;
	}

	tmpread(infile);
	headersize = tmp;
	tmpread(infile);
	headersize += tmp << 8;

	tmpread(infile);
	length = tmp;
	tmpread(infile);
	length += tmp << 8;

	tmpread(infile);
	vartype = tmp;

	if ((tifile->model == TI_73 && vartype == 0x13) ||
		(tifile->model == TI_82 && vartype == 0x0F) ||
		(tifile->model == TI_85 && vartype == 0x1D)) {
		tifile->backup = (TIBACKUP_t *) malloc(sizeof(TIBACKUP_t));
		if (tifile->backup == NULL)
			return FreeTiFile(tifile);
		tifile->backup->headersize	= headersize;
		tifile->backup->length1		= length;
		tifile->backup->vartype		= vartype;
		return ImportBackup(infile, tifile);
	}

	if (length2 > length + 17 || tifile->type == GROUP_TYPE) {
		tifile->type = GROUP_TYPE;
		length2 -= 0x39;
	} else {
		tifile->type = VAR_TYPE;
	}

	tifile->var = (TIVAR_t *) malloc(sizeof(TIVAR_t));
	tifile->vars[varNumber] = tifile->var;
	if (tifile->var == NULL)
		return FreeTiFile(tifile);

	tifile->var->headersize		= headersize;
	tifile->var->length			= length;
	tifile->var->vartype		= vartype;
	ptr = tifile->var->name;
	for(i = 0; i < 8 && !feof(infile); i++) {
		tmpread(infile);
		ptr[i] = tmp;
	}

	if (tifile->model == TI_83P) {
		tmp = fgetc(infile);
		if (tmp == EOF) {
			fclose(infile);
			FreeTiFile(tifile);
			return NULL;
		}
		ptr[i++] = tmp;
		tmp = fgetc(infile);
		if (tmp == EOF)
			return FreeTiFile(tifile);
		ptr[i++] =tmp;
	} else {
		ptr[i++] = 0;
		ptr[i++] = 0;
	}
	tmp = fgetc(infile);
	if (tmp == EOF)
		return FreeTiFile(tifile);
	ptr[i++] = tmp;
	tmp = fgetc(infile);
	if (tmp == EOF)
		return FreeTiFile(tifile);
	ptr[i++] = tmp;

	tifile->var->data = (unsigned char *) malloc(tifile->var->length);
	if (tifile->var->data == NULL)
		return FreeTiFile(tifile);

	i = 0;
	if (tifile->model == TI_86)
		fgetc(infile);

	for(i = 0; i < tifile->var->length && !feof(infile); i++) {
		tmp = fgetc(infile);
		if (tmp == EOF)
			return FreeTiFile(tifile);
		tifile->var->data[i] = tmp;
	}

	if (tifile->type == GROUP_TYPE) {
		if (varNumber != 0)
			return tifile;
		while (tifile != NULL) {
			length2 -= tifile->var->length + tifile->var->headersize;
			if (length2 < 0)
				break;
			tifile = ImportVarData(infile, tifile, ++varNumber);
		}
	}

	tifile->chksum = (fgetc(infile) & 0xFF) + ((fgetc(infile) & 0xFF) << 8 );
	return tifile;
}
Exemplo n.º 4
0
TIFILE_t* ImportBackup(FILE *infile, TIFILE_t *tifile) {
	int i, tmp;
	tifile->backup->data1 = NULL;
	tifile->backup->data2 = NULL;
	tifile->backup->data3 = NULL;

	tmpread(infile);
	tifile->backup->length2 = tmp;
	tmpread(infile);
	tifile->backup->length2 += tmp << 8;

	tmpread(infile);
	tifile->backup->length3 = tmp;
	tmpread(infile);
	tifile->backup->length3 += tmp << 8;

	tmpread(infile);
	tifile->backup->address = tmp;
	tmpread(infile);
	tifile->backup->address += tmp << 8;

	tmpread(infile);
	tifile->backup->length1a = tmp;
	tmpread(infile);
	tifile->backup->length1a += tmp << 8;

	tifile->backup->data1 = (unsigned char *) malloc(tifile->backup->length1);
	if (tifile->backup->data1 == NULL)
		return FreeTiFile(tifile);
	for(i = 0; i < tifile->backup->length1 && !feof(infile); i++) {
		tmpread(infile);
		tifile->backup->data1[i] = tmp;
	}


	tmpread(infile);
	tifile->backup->length2a = tmp;
	tmpread(infile);
	tifile->backup->length2a += tmp << 8;

	tifile->backup->data2 = (unsigned char *) malloc(tifile->backup->length2);
	if (tifile->backup->data2 == NULL)
		return FreeTiFile(tifile);
	for(i = 0; i < tifile->backup->length2 && !feof(infile); i++) {
		tmpread(infile);
		tifile->backup->data2[i] =tmp;
	}

	tmpread(infile);
	tifile->backup->length3a = tmp;
	tmpread(infile);
	tifile->backup->length3a += tmp << 8;

	tifile->backup->data3 = (unsigned char *) malloc(tifile->backup->length3);
	if (tifile->backup->data3 == NULL)
		return FreeTiFile(tifile);
	for(i=0; i<tifile->backup->length3 && !feof(infile); i++) {
		tmpread(infile);
		tifile->backup->data3[i] = tmp;
	}

	tifile->chksum = (fgetc(infile) & 0xFF) + ((fgetc(infile) & 0xFF) << 8);

	tifile->type	= BACKUP_TYPE;
	return tifile;
}