예제 #1
0
uint16_t hum_temp_save(void) {
  uint16_t pos = 0;
  for (uint8_t i = 0; i < ARRAY_SIZE(sample_buffers); i++) {
    eeprom_write_buffer(sample_buffers[i], pos);
    pos += sample_buffers[i]->count + 2;
  }
  return pos;
}
예제 #2
0
파일: dUdpDebug.c 프로젝트: aranni/GWYNE64
INT32 UPD_PanelEventlistener (INT8 cbhandle, UINT8 event, UINT32 ipaddr, UINT16 port, UINT16 buffindex, UINT16 datalen)
{
UINT8 tmpbyte1, tmpbyte2;
buffindex++;	// to avoid the compiler warning


if(cbhandle != udp_soch)
    {
	DEBUGOUT("UDP: not my handle!!!!");
	return (-1);
	}
	
switch(event)
    {
	case UDP_EVENT_DATA:

	    if(datalen <= 0)
            break;
	    udp_ipaddr = ipaddr;        /**< Remote IP address this application will send data to*/ 
	    udp_port = port;            /**< Port number on remote server we'll send data to */
      eeprom_write_buffer(EE_ADDR_UDPTRACE_IP, (UINT8 *)&udp_ipaddr, 4);
	    tmpbyte1 = (BYTE)(udp_ipaddr>>8);
	    tmpbyte2 = (BYTE)(udp_ipaddr>>0);
	    udp_analize_msg(datalen);
 			(void)sprintf((char *)udp_buf,"UDP_Debug IP:%d.%d, Port:%d\n",
 			      tmpbyte1,
 			      tmpbyte2,
 			      udp_port);	
	    udp_data_to_send = TRUE;
	    
	    
	    break;
		
	default:
		DEBUGOUT("UDP: unknown UDP event :-(");
		break;
    }
return 0;
}
예제 #3
0
void WebWriteEEpromVar (UINT16 setParam, UINT16 setLen, void* setData) 
{
    eeprom_write_buffer(setParam, (UINT8*)setData, setLen);  
}
예제 #4
0
파일: pConfig.c 프로젝트: aranni/GWYNE64
//-----------------------------------------------------------------------------
// Analizar mensaje de configuracion recibido por canal TCP.
//-----------------------------------------------------------------------------
//
void f_ConfigRxCfgFrame (void)
{
  UINT8   TmpWriteByte;
 
  switch (CfgMsgFrame.OpCode){
 
    case CFG_TCP_READ:
      CfgMsgInfo.InvCode      = SYS_ConfigParam.InvCode;
      CfgMsgInfo.ScanRate     = SYS_ConfigParam.ScanRate;
      CfgMsgInfo.RunConfig    = SYS_ConfigParam.RunConfig;
//      CfgMsgInfo.SIE_CmdWordA = SIE_ConfigParam.CmdWordA;
      eeprom_read_buffer(EE_ADDR_SIE_CMDWA, (UINT8 *)&(CfgMsgInfo.SIE_CmdWordA), 2); 
      (void)memcpy ((UINT8 *)(&(CfgMsgFrame.Data)),
              (UINT8 *)(&CfgMsgInfo),
              sizeof(CFG_MSG_INFO));        
      CfgMsgFrame.Len = sizeof(CFG_MSG_INFO);      
      break;    


    case CFG_TCP_READ_CTES:
      (void)memcpy ((UINT8 *)(&((CFG_MSG_CTES *)(CfgMsgFrame.Data))->ConsignaFrec),
              (UINT8 *)(&(SYS_ConfigParam.ConsignaFrec)),
              4*sizeof(float));  
     	eeprom_read_buffer(EE_ADDR_VER_TEXT,
     	                  (UINT8 *)(((CFG_MSG_CTES *)(CfgMsgFrame.Data))->UsrText), 30); 
      CfgMsgFrame.Len = sizeof(CFG_MSG_CTES);    
      break;    
      
 
    case CFG_TCP_READ_STAT:
      IIC_RtcGetDateTime ();
      (void)memcpy ((UINT8 *)(&(CfgMsgFrame.Data)),
                    (UINT8 *)(&StatisticData),
                     sizeof(STATISTIC_MSG));  
      CfgMsgFrame.Len = sizeof(STATISTIC_MSG);      
      break;    
      

    case CFG_TCP_READ_VER:
      (void)memcpy ((UINT8 *)(&((CFG_MSG_VERSION *)(CfgMsgFrame.Data))->FW_VersionHdr), (UINT8*)(&FwVersionData), sizeof(CFG_FW_VERSION));  
     	eeprom_read_buffer(EE_ADDR_VER_HWVER, 
     	                  (UINT8 *)(&((CFG_MSG_VERSION *)(CfgMsgFrame.Data))->HW_Version),
     	                   SIZE_HW_VER); 
     	eeprom_read_buffer(EE_ADDR_VER_SERIAL,
     	                  (UINT8 *)(&((CFG_MSG_VERSION *)(CfgMsgFrame.Data))->Serial),
     	                   SIZE_SERIAL); 
      CfgMsgFrame.Len = sizeof(CFG_MSG_VERSION);
      break;    
  

    case CFG_TCP_WRITE_VER:
      if ( (((CFG_MSG_VERSION *)(CfgMsgFrame.Data))->KeyCode) != VER_KEY_CODE) break; 
              
     	eeprom_write_buffer(EE_ADDR_VER_HWVER,
     	                   (UINT8 *)(&((CFG_MSG_VERSION *)(CfgMsgFrame.Data))->HW_Version),
     	                    SIZE_HW_VER); 
    	eeprom_write_buffer(EE_ADDR_VER_SERIAL,
     	                   (UINT8 *)(&((CFG_MSG_VERSION *)(CfgMsgFrame.Data))->Serial),
     	                    SIZE_SERIAL); 
      StatisticData.OsStat.MsgRstCntr = 0x00;
      StatisticData.OsStat.MsgDogCntr = 0x00;
      eeprom_write_buffer(EE_ADDR_DOG_CNTR, (UINT8 *)&(StatisticData.OsStat.MsgDogCntr), 2);     
      eeprom_write_buffer(EE_ADDR_RST_CNTR, (UINT8 *)&(StatisticData.OsStat.MsgRstCntr), 2);     
      CfgMsgFrame.Len = 0;
      break; 
      

    case CFG_TCP_WRITE_CTES:
      (void)memcpy ((UINT8 *)(&(SYS_ConfigParam.ConsignaFrec)),
                    (UINT8 *)(&((CFG_MSG_CTES *)(CfgMsgFrame.Data))->ConsignaFrec),
                    (4 * sizeof(float)));  
          
      eeprom_write_buffer(EE_ADDR_INV_FREC, (UINT8 *)&(SYS_ConfigParam.ConsignaFrec), 4); 
      eeprom_write_buffer(EE_ADDR_PAR_RELTX, (UINT8 *)&SYS_ConfigParam.RelacionTx, 4); 
      eeprom_write_buffer(EE_ADDR_PAR_CRESB, (UINT8 *)&SYS_ConfigParam.CoefResbal, 4); 
      eeprom_write_buffer(EE_ADDR_PAR_RPMOT, (UINT8 *)&SYS_ConfigParam.RpmEnMotor, 4); 

     	eeprom_write_buffer(EE_ADDR_VER_TEXT,
     	                  (UINT8 *)(((CFG_MSG_CTES *)(CfgMsgFrame.Data))->UsrText), 30); 
      CfgMsgFrame.Len = 0;
      break;  


    case CFG_TCP_WRITE_DATE:    
      (void)memcpy ((UINT8 *)(&(StatisticData.CurrentDateTime.Second)),
                    (UINT8 *)(&((DATE_TIME *)(CfgMsgFrame.Data))->Second),
                    (sizeof(DATE_TIME)));  
      IIC_RtcSetDateTime ();
      CfgMsgFrame.Len = 0;
      break;  
              

    case CFG_TCP_WRITE:
      (void)memcpy ((UINT8 *)(&(CfgMsgInfo)),(UINT8 *)(&(CfgMsgFrame.Data)),
                    (sizeof(CFG_MSG_INFO)));  
      eeprom_write_buffer(EE_ADDR_INV_TYPE, &(CfgMsgInfo.InvCode), 1); 
	    eeprom_write_buffer(EE_ADDR_IP_ADDR, CfgMsgInfo.TcpIP, 4);
	    eeprom_write_buffer(EE_ADDR_IP_SUBNET, CfgMsgInfo.TcpMask, 4);
	    eeprom_write_buffer(EE_ADDR_IP_GATEWAY, CfgMsgInfo.TcpGW, 4);
	    eeprom_write_buffer(EE_ADDR_MAC, CfgMsgInfo.TcpMAC, 6);
      eeprom_write_buffer(EE_ADDR_RUN_CFG, &(CfgMsgInfo.RunConfig), 1); 

      eeprom_write_buffer(EE_ADDR_TCP_INITOUT, (UINT8 *)&(CfgMsgInfo.var_TCP_INIT_RETRY_TOUT), 2); 
      eeprom_write_buffer(EE_ADDR_TCP_TOUT, (UINT8 *)&(CfgMsgInfo.var_TCP_DEF_RETRY_TOUT), 2); 
      eeprom_write_buffer(EE_ADDR_TCP_RETRIES, &(CfgMsgInfo.var_TCP_DEF_RETRIES), 1);    
      if (!CfgMsgInfo.var_TCP_DEF_RETRIES) CfgMsgInfo.var_TCP_DEF_RETRIES = 7;
      if (!CfgMsgInfo.var_TCP_INIT_RETRY_TOUT) CfgMsgInfo.var_TCP_INIT_RETRY_TOUT = 100;
      if (!CfgMsgInfo.var_TCP_DEF_RETRY_TOUT) CfgMsgInfo.var_TCP_DEF_RETRY_TOUT = 400;
  
			SYS_ConfigParam.ScanRate     = CfgMsgInfo.ScanRate;
			SYS_ConfigParam.RunConfig    = CfgMsgInfo.RunConfig;
     
      eeprom_write_buffer(EE_ADDR_INV_POLL, (UINT8 *)&(CfgMsgInfo.ScanRate), 2); 
      eeprom_write_buffer(EE_ADDR_SIE_CMDWA, (UINT8 *)&(CfgMsgInfo.SIE_CmdWordA), 2); 

      (void)memcpy ((UINT8 *)(&(CfgMsgFrame.Data)),
                    (UINT8 *)(&CfgMsgInfo),
                     sizeof(CFG_MSG_INFO));        
      CfgMsgFrame.Len = sizeof(CFG_MSG_INFO);
      break;    

    case CFG_TCP_GET_IOVALUES:
      (void)memcpy ((UINT8 *)(&(CfgMsgFrame.Data[0])),
              (UINT8 *)(&(InputOutputData)),
              sizeof(GIO_STATE_VAL));  
      CfgMsgFrame.Len = sizeof(GIO_STATE_VAL);    
    
      break;
      
    case CFG_TCP_SET_IOVALUES:
      (void)memcpy ( (UINT8 *)(&(InputOutputData)),
                     (UINT8 *)(&(CfgMsgFrame.Data[0])),              
                      sizeof(GIO_STATE_VAL));  
      GIO_SetOutVal ( ((GIO_STATE_VAL *)(&(CfgMsgFrame.Data[0])))->DigOutVal );
      IIC_DacSetValues();
      CfgMsgFrame.Len = sizeof(GIO_STATE_VAL);    
    
      break;

  
    case CFG_TCP_RESET:
      __asm SEI;                         // Deshabilitar Interrupciones (RESET)
      FOREVER;    
      break;

      
    case CFG_TCP_POL:
      CfgMsgFrame.OpCode = CFG_TCP_ACK;
      CfgMsgFrame.Len = 0;
      break;
    

    case CFG_TCP_WRITE_FLASH:
      FLA_SaveReg (CfgMsgFrame.Parameter, CfgMsgFrame.Len, (UINT8*) &(CfgMsgFrame.Data));
      CfgMsgFrame.Len = 0;
      break;

    case CFG_TCP_READ_FLASH:
      FLA_ReadReg (CfgMsgFrame.Parameter, (UINT8)(CfgMsgFrame.AuxParam), (UINT8*) &(CfgMsgFrame.Data));
      CfgMsgFrame.Len = (UINT8)(CfgMsgFrame.AuxParam);
      break;
      
    case CFG_TCP_UPGRADE_FW:
      TmpWriteByte = LDR_UPDATE_LOAD;
      eeprom_write_buffer(EE_ADDR_FW_UPDATE, &TmpWriteByte, 1);     
      __asm SEI;                         // Deshabilitar Interrupciones (RESET)
      FOREVER;    
      break;

//  FW cargado ok, grabar bandera para informar al loader..
    case CFG_TCP_VALIDATE_FW:
      TmpWriteByte = LDR_UPDATE_VALID;
      eeprom_write_buffer(EE_ADDR_FW_UPDATE, &TmpWriteByte, 1);     
      CfgMsgFrame.Len = 0;
      break;

//  RECUPERAR EL FW DE FABRICA.. 
    case CFG_TCP_RESTORE_FW:
      TmpWriteByte = LDR_FACTORY_TEST;
      eeprom_write_buffer(EE_ADDR_FW_UPDATE, &TmpWriteByte, 1);     
      __asm SEI;                         // Deshabilitar Interrupciones (RESET)
      FOREVER;    
      break;
      
    default:
      CfgMsgFrame.OpCode = CFG_TCP_NAK;
      CfgMsgFrame.Len = 0;
      break;  
  }

 
  CfgMsgFrame.RxWindow = CfgMsgFrame.TxWindow;
  
  if (TCP_SendCfgBuff()){				                    // Error en envio de respuesta
	  (void)TMR_SetTimer ( TCP_TIMEOUT_SENDRETRY , PROC_CONFIG, 0x00, FALSE);	            // Reintentar
  }
//  TCP_SendCfgBuff();
  return;
   
}