Example #1
0
/* getcd

   get corrected data
*/
int 
getcd (unsigned char *data, int *mdat, struct cmd *pcmd) {
    int i;
    int err;

    /* read answer of weather station from serial port */
    if ( ( err = getrd(data, mdat, pcmd)) == -1)
	  return(-1);
    
    /* echo raw dataframe */
    err = echodata(data, *mdat);
    
    /* check data frame and do 
    	 data correction for masqueraded bytes */
    if ( ( err = chkframe(data, mdat, pcmd)) == -1)
	  return(-1);
    
    /* echo raw demasqueraded dataframe */
    err = echodata(data, *mdat);

    /* extract message: eliminiate first and last 2 bytes */
    for ( i = 0; i < *mdat - 4; i++ ) {
        data[i] = data[i+2];
    }
    *mdat = *mdat - 4;

    syslog(LOG_DEBUG, "getcd : Data length getcd : %d\n", *mdat);
    return(0);
}
Example #2
0
u32 read_68000mem_b(u32 addr)
{
  if(ISIO68(addr))
    return (read_mem_jmp_b[((addr)>>8)&255])(addr,reg68.cycle);
  addr &= MEM68MSK;
#ifdef EMU68DEBUG
  chkframe(addr,READ_68);
#endif
  return reg68.mem[addr];
}
Example #3
0
void write_68000mem_b(u32 addr, u32 v)
{
  if(ISIO68(addr))
  {
    (write_mem_jmp_b[((addr)>>8)&255])(addr,v,reg68.cycle);
    return;
  }
  addr &= MEM68MSK;
#ifdef EMU68DEBUG
  chkframe(addr,WRITTEN_68);
#endif
  reg68.mem[addr] = v;
}