コード例 #1
0
ファイル: rtc.c プロジェクト: frazahod/SUBGEN-NuLAB-EcoLAB-
void RTC_read_alarm(){

   int8 RTC_buffer;
   
   RTC_buffer = 0;
   
   setup_spi(SPI_MASTER|SPI_MODE_0_0|SPI_CLK_DIV_16);
   
   output_bit(RTC_CS, ENABLE);
   RTC_buffer = spi_read(0x0A);
   RTC_Al_Mon_Reg = spi_read(RTC_buffer);
   RTC_Al_DOM_Reg = spi_read(RTC_buffer);
   RTC_Al_Hr_Reg = spi_read(RTC_buffer);
   RTC_Al_Min_Reg = spi_read(RTC_buffer);
   RTC_Al_Sec_Reg = spi_read(RTC_buffer);
   RTC_Flags_Reg = spi_read(RTC_buffer);
   output_bit(RTC_CS, DISABLE);
   
   RTC_Al_Mon_Reg = RTC_Al_Mon_Reg & 0b00011111;
   RTC_Al_Mon_Reg = Bcd2Dec(RTC_Al_Mon_Reg);
   RTC_Al_DOM_Reg = RTC_Al_DOM_Reg & 0b00111111;
   RTC_Al_DOM_Reg = Bcd2Dec(RTC_Al_DOM_Reg);
   RTC_Al_Hr_Reg = RTC_Al_Hr_Reg & 0b00111111;
   RTC_Al_Hr_Reg = Bcd2Dec(RTC_Al_Hr_Reg);
   RTC_Al_Min_Reg = RTC_Al_Min_Reg & 0b01111111;
   RTC_Al_Min_Reg = Bcd2Dec(RTC_Al_Min_Reg);
   RTC_Al_Sec_Reg = RTC_Al_Sec_Reg & 0b01111111;
   RTC_Al_Sec_Reg = Bcd2Dec(RTC_Al_Sec_Reg);
}
コード例 #2
0
ファイル: rtc.c プロジェクト: frazahod/SUBGEN-NuLAB-EcoLAB-
void RTC_read()
{
   int8 RTC_buffer;
   
   RTC_buffer = 0;
   
   setup_spi(SPI_MASTER|SPI_MODE_0_0|SPI_CLK_DIV_16);
   
   output_bit(RTC_CS, ENABLE);
   RTC_buffer = spi_read(0x00);
   RTC_Tenths_Sec_Reg = spi_read(RTC_buffer);
   RTC_Sec_Reg = spi_read(RTC_buffer);
   RTC_Min_Reg = spi_read(RTC_buffer);
   RTC_Hr_Reg =  spi_read(RTC_buffer);
   RTC_DOW_Reg = spi_read(RTC_buffer);
   RTC_DOM_Reg = spi_read(RTC_buffer);
   RTC_Mon_Reg = spi_read(RTC_buffer);
   RTC_Yr_Reg =  spi_read(RTC_buffer);
   output_bit(RTC_CS, DISABLE);
      
   RTC_Sec_Reg = Bcd2Dec(RTC_Sec_Reg);
   RTC_Min_Reg = Bcd2Dec(RTC_Min_Reg);
   RTC_Hr_Reg = Bcd2Dec(RTC_Hr_Reg);
   RTC_DOM_Reg = Bcd2Dec(RTC_DOM_Reg);
   RTC_Mon_Reg = Bcd2Dec(RTC_Mon_Reg);
   RTC_Yr_Reg = Bcd2Dec(RTC_Yr_Reg);
}
コード例 #3
0
datetime_t GetTimeDate()
{
    datetime_t t;
    datepack_t tp;
	CdvdClock_t clock;
    if (!cdReadClock(&clock))
        return INVALID_DATETIME_T;

    tp.Year = Bcd2Dec(clock.year)+2000;
    tp.Month = Bcd2Dec(clock.month);
    tp.Day = Bcd2Dec(clock.day);
    tp.Hour = Bcd2Dec(clock.hour);
    tp.Minute = Bcd2Dec(clock.minute);
    tp.Second = Bcd2Dec(clock.second);
    tp.WeekDay = 0;

    t = TimePackToRel(&tp,0);
    if (t != INVALID_DATETIME_T)
    {
        t -= 9*60*60; //adjust JST to GMC
        if (t == INVALID_DATETIME_T)
            ++t;
    }
    return t;
}
コード例 #4
0
ファイル: SimCon.cpp プロジェクト: wskplho/ffscockpit
void CSimCon::Process(SIMCONNECT_RECV *pData, DWORD cbData)
{
	HRESULT hr;
	switch (pData->dwID)
	{
		case SIMCONNECT_RECV_ID_EVENT:
		{
			SIMCONNECT_RECV_EVENT *evt = (SIMCONNECT_RECV_EVENT*)pData;
			switch (evt->uEventID)
			{
				case EVENT_UP_FLAPS:
				case EVENT_DN_FLAPS:
				{
					wxLogMessage(wxString::Format(_T("Flaps Event Receive: %d"), evt->dwData));
					break;
				}
				case EVENT_MENU:
				{
					wxLogMessage(_T("Menu Event Triggered"));
					break;
				}
				case EVENT_MENU_COM:
				{
					wxLogMessage(_T("Menu COM Triggered"));
					break;
				}
				default:
				{
					wxLogMessage(wxString::Format(_T("Receive Event : %d"), evt->uEventID));
					break;
				}
			}
			break;
		}
		case SIMCONNECT_RECV_ID_SIMOBJECT_DATA:
		{
			SIMCONNECT_RECV_SIMOBJECT_DATA *pObjData = (SIMCONNECT_RECV_SIMOBJECT_DATA*)pData;
			switch (pObjData->dwRequestID)
			{
				case REQUEST_NAV:
				{
					float fNAV1, fNAV2;
					DWORD ObjectID = pObjData->dwObjectID;
					FSNAVFREQ *pS = (FSNAVFREQ*)&pObjData->dwData;
					fNAV1 = Bcd2Dec(pS->NAV1) / 10000.0;
					fNAV2 = Bcd2Dec (pS->NAV2) / 10000.0;
					//wxLogMessage (wxString::Format(_("Receive Nav1=%f Nav2=%f"),fNAV1,fNAV2));
					CPaquet Data;
					Data.AddByte ((UINT8)1); //Slave
					Data.AddByte(FFS_NAV); //Fonction
					Data.AddFloat(fNAV1);
					Data.AddFloat(fNAV2);
					SerialCtrl->Send(Data);
					break;
				}
				case REQUEST_ALT:
				{
					UINT32 iALT;
					DWORD ObjectID = pObjData->dwObjectID;
					iALT = pObjData->dwData;
					wxLogMessage (wxString::Format(_("Receive Alt=%i"),iALT));
					CPaquet Data;
					Data.AddByte ((UINT8)2); //Slave
					Data.AddByte (FFS_ALT); //Fonction
					Data.AddDWord (iALT);
					SerialCtrl->Send (Data);
					break;
				}
				default:
				{
					break;
				}
			}
			break;
		}
		case SIMCONNECT_RECV_ID_QUIT:
		{
			wxLogMessage(_T("Close Event Received"));
			Connect(false);
			break;
		}
		case SIMCONNECT_RECV_ID_EXCEPTION:
		{
			wxLogMessage(_("Exception received"));
			SIMCONNECT_RECV_EXCEPTION *except = (SIMCONNECT_RECV_EXCEPTION*)pData;
			break;
		}
		case SIMCONNECT_RECV_ID_OPEN:
		{
			wxLogMessage(_("Open Event received"));
			break;
		}
		default:
		{
			wxLogMessage(wxString::Format(_T("Received: %d"),pData->dwID));
			break;
		}
	}
}