int main(void) { SysTick_Init(); RCC_Init(); USART2_Init(); InitRF(); Tag_Init(); //send_alive_cmd_to_master(); IWDG_Init(); while(1) { if(sysTime1ms % 50 == 0) { Feed_IWDG(); } usart_msg_handle(); if(tag_check_flag) { Tag_state_check(); tag_check_flag = 0; } SendWakeMsg(); } }
BOOL CHistogramDlg::OnInitDialog() { HWND hActiveWnd; HWND hTags; FRMDATATYPE type; LPIMAGE lpImage = NULL; int icons[HISTOMARKS]; HWND hDlg = GetSafeHwnd(); lpImage = GetImage(); RightPopup( hDlg ); // set channels combo type = FrameType(ImgGetBaseEditFrame(lpImage)); m_wChannel = IDC_DO_ALL; m_MapValues.wChannel = m_wChannel; ChannelsCombo_Setup(IDC_CHANNELS, type); //This NEEDS to be fixed!!! // setup tags hTags = ::GetDlgItem(hDlg, IDC_TAGS); icons[0] = IDC_HISTOTAG1; icons[1] = IDC_HISTOTAG2; Tag_Init(hTags, HISTOMARKS, 255, &icons[0]); Tag_SetMark(hTags, 0, 85, NO); Tag_SetMark(hTags, 1, 170, NO); m_lpHistos[0] = NULL; // setup the actual histogram and controls set_histo_channel(); return CPPMapExDlg::OnInitDialog(); }
//************************************************************************ // set_quarter_channel // DESCRIPTION: // Makes the given channel the current channel. // Updates the display. //************************************************************************ VOID CToneBalanceDlg::set_quarter_channel(WORD wChannel) //************************************************************************ { LPDWORD lpHisto; HWND hControl; BOOL bInv; LONG lMaxEntry; int icons[3]; HWND hDlg = GetSafeHwnd(); m_lpData->lpMap = tone_activate_channel( wChannel ); lpHisto = get_histo(m_lpData->lpHistos, wChannel, &bInv); // setup the histo control lMaxEntry = compute_yscale(lpHisto); hControl = ::GetDlgItem(hDlg, IDC_HISTOGRAM); Histo_Init(hControl, lpHisto, lMaxEntry, 3, bInv ? HTS_FLIPX:0); m_lpData->iShadow = m_lpData->lpMap->Pnt[0].x; m_lpData->iMidtone = m_lpData->lpMap->Pnt[1].x; m_lpData->iHighlight = m_lpData->lpMap->Pnt[2].x; if (!(m_lpData->iHighlight - m_lpData->iShadow)) m_lpData->MidtonePer = 0; else m_lpData->MidtonePer = (m_lpData->iMidtone - m_lpData->iShadow)*255/ (m_lpData->iHighlight - m_lpData->iShadow); Histo_SetMark(hControl, 0, m_lpData->lpMap->Pnt[0].x, NO); Histo_SetMark(hControl, 1, m_lpData->lpMap->Pnt[1].x, NO); Histo_SetMark(hControl, 2, m_lpData->lpMap->Pnt[2].x, NO); // some people seem to have an update problem here ::InvalidateRect (hControl,NULL,FALSE); // setup tags hControl = ::GetDlgItem(hDlg, IDC_TAGS); icons[0] = IDC_QUART1; icons[1] = IDC_QUART2; icons[2] = IDC_QUART3; Tag_Init(hControl, 3, 255, &icons[0]); Tag_SetMark(hControl, 0, m_lpData->lpMap->Pnt[0].x, NO); Tag_SetMark(hControl, 1, m_lpData->lpMap->Pnt[1].x, NO); Tag_SetMark(hControl, 2, m_lpData->lpMap->Pnt[2].x, NO); // some people seem to have an update problem here ::InvalidateRect (hControl,NULL,FALSE); set_gradient(IDC_HISTO_GRAD, wChannel); // spins InitDlgItemSpin(hDlg, IDC_QUART1_VALUE, TO_DISPLAY(m_lpData->lpMap->Pnt[0].x), NO, 0, MAX_SPIN); InitDlgItemSpin(hDlg, IDC_QUART3_VALUE, TO_DISPLAY(m_lpData->lpMap->Pnt[2].x), NO, 0, MAX_SPIN); if (m_bUseMidPer) InitDlgItemSpin(hDlg, IDC_QUART2_VALUE, m_lpData->MidtonePer*100L/255, NO, 0, MAX_SPIN ); else InitDlgItemSpin(hDlg, IDC_QUART2_VALUE, TO_DISPLAY(m_lpData->lpMap->Pnt[1].x), NO, 0, MAX_SPIN ); InitDlgItemSpin(hDlg, IDC_MINHIGHLIGHT, TO_DISPLAY(m_lpData->lpMap->Pnt[2].y), NO, 0, MAX_SPIN); InitDlgItemSpin(hDlg, IDC_MAXSHADOW, TO_DISPLAY(m_lpData->lpMap->Pnt[0].y), NO, 0, MAX_SPIN); }