/* Initialize the USART6. */ void setup_usart(void) { USART_InitTypeDef USART_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; /* Enable the GPIOC peripheral clock. */ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE); /* Make PC6, PC7 as alternative function of USART6. */ GPIO_PinAFConfig(GPIOC, GPIO_PinSource6, GPIO_AF_USART6); GPIO_PinAFConfig(GPIOC, GPIO_PinSource7, GPIO_AF_USART6); /* Initialize PC6, PC7. */ GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); /* Enable the USART6 peripheral clock. */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART6, ENABLE); /* Initialize USART6 with * 115200 buad rate, * 8 data bits, * 1 stop bit, * no parity check, * none flow control. */ USART_InitStructure.USART_BaudRate = 115200; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; USART_Init(USART6, &USART_InitStructure); /* Enable USART6. */ USART_Cmd(USART6, ENABLE); /* Initial the USART TX streams. */ for(usart_stream_idx = MAX_USART_STREAM; usart_stream_idx > 0; usart_stream_idx--) ClearStream(usart_stream + usart_stream_idx - 1); /* Initial the RX Queue. */ rxQueue = &__rxQueue; CreateQueue(rxQueue, __rxBuf, RX_QUEUELEN, sizeof(uint8_t)); if(rxQueue != NULL) USART_Printf(USART2, "RX pipe created.\r\n"); else USART_Printf(USART2, "RX pipe created failed.\r\n"); /* Disable RX pipe first. */ USART_DisableRxPipe(USART6); /* Enable USART6 RX interrupt. */ USART_ITConfig(USART6, USART_IT_RXNE, ENABLE); /* Enable USART6 in NVIC vector. */ NVIC_EnableIRQ(USART6_IRQn); }
void LogOutputManager::TraceToUartOn(boost::shared_ptr<ILogRecordFormater> formater) { m_settings.Uart().TraceInd = true; ClearStream(m_uartStream); m_uartStream.reset(new LogUartStream(m_settings.Uart().Port, formater)); m_logOutput.Register(m_uartStream.get()); }
HRESULT CMockTransport::Reset() { for (unsigned int index = 0; index < ARRAYSIZE(m_addrs); index++) { m_addrs[index] = CSocketAddress(); } ClearStream(); return S_OK; }
void LogOutputManager::TraceToFileOn(boost::shared_ptr<ILogRecordFormater> formater) { ESS_ASSERT(m_settings.File().NameLogFile.size() != 0 && "Filename mast be present"); m_settings.File().TraceInd = true; ClearStream(m_fileStream); if (m_settings.File().DirectSaveToFile) m_fileStream.reset(new LogDirectFileStream(m_settings.File().NameLogFile, formater)); else m_fileStream.reset(new LogFileStream(m_settings.File().NameLogFile, formater)); m_logOutput.Register(m_fileStream.get()); }
/* USART6 IRQ handler. */ void USART6_IRQHandler(void) { uint8_t i; uint8_t rxdata; BaseType_t xHigherPriTaskWoken; xHigherPriTaskWoken = pdFALSE; /* USART6 RX interrupt. */ if(USART6->SR & USART_SR_RXNE) { /* Push data into RX Queue. */ rxdata = USART_ReadByte(USART6); #ifdef MIRROR_USART6 USART_SendByte(USART2, rxdata); #endif if(rxPipeState > 0) { if(PushQueue(rxQueue, &rxdata)) { GPIO_SetBits(LEDS_GPIO_PORT, RED); GPIO_ResetBits(LEDS_GPIO_PORT, BLUE); } else { GPIO_SetBits(LEDS_GPIO_PORT, BLUE); GPIO_ResetBits(LEDS_GPIO_PORT, RED); } } } /* USART6 TX interrupt. */ if(USART6->SR & USART_SR_TXE) { if(usart_stream[usart_stream_idx].BufLen > 0) { USART_SendByte(USART6, *usart_stream[usart_stream_idx].pBuf); usart_stream[usart_stream_idx].pBuf++; usart_stream[usart_stream_idx].BufLen--; } else { /* Current USART streaming is finished. */ /* Release and clear current USART stream. */ ClearStream(usart_stream + usart_stream_idx); /* Try to stream next USART stream which should be stream. */ usart_stream_idx++; for(i=0; i<MAX_USART_STREAM; i++) { usart_stream_idx = (usart_stream_idx + i) % MAX_USART_STREAM; if(usart_stream[usart_stream_idx].pBuf != NULL) break; } /* Disable USART6 TX interrupt after all streams are finished. */ if(i >= MAX_USART_STREAM) USART_ITConfig(USART6, USART_IT_TXE, DISABLE); } } }
void CExtentMonitorTextService::_DumpExtent(TfEditCookie ec, ITfContext *pContext, UINT nEventId) { if (!_pMemStream) return; ClearStream(_pMemStream); switch (nEventId) { case DE_EVENTID_ACTIVATE: AddStringToStream(_pMemStream, L"Event: Activate\r\n"); break; case DE_EVENTID_ONSETFOCUS: AddStringToStream(_pMemStream, L"Event: OnSetFocus\r\n"); break; case DE_EVENTID_ONENDEDIT: AddStringToStream(_pMemStream, L"Event: OnEndEdit\r\n"); break; case DE_EVENTID_ONLAYOUTCHANGE: AddStringToStream(_pMemStream, L"Event: OnLayoutChange\r\n"); break; case DE_EVENTID_FROMLANGUAGEBAR: AddStringToStream(_pMemStream, L"Event: From LanguageBar\r\n"); break; default: AddStringToStream(_pMemStream, L"Event: Unknoen\r\n"); break; } WCHAR sz[512]; ITfContextView *pView = NULL; TF_SELECTION sel; memset(&_rcStartPos , 0, sizeof(RECT)); memset(&_rcEndPos , 0, sizeof(RECT)); memset(&_rcSelection , 0, sizeof(RECT)); memset(&_rcView , 0, sizeof(RECT)); if (SUCCEEDED(pContext->GetActiveView(&pView))) { ITfRange *pRange; RECT rc; BOOL fClipped; HWND hwnd; AddStringToStream(_pMemStream, L"Wnd Handle - "); if (SUCCEEDED(pView->GetWnd(&hwnd))) { WCHAR szWndClass[32]; if (IsWindow(hwnd)) { GetClassNameW(hwnd, szWndClass, ARRAYSIZE(szWndClass)); StringCchPrintf(sz, ARRAYSIZE(sz), L"%08x %s\r\n", (DWORD)(ULONG_PTR)hwnd, szWndClass); AddStringToStream(_pMemStream, sz); } else { AddStringToStream(_pMemStream, L"null window handle\r\n"); } } AddStringToStream(_pMemStream, L"Screen Ext\r\n"); if (SUCCEEDED(pView->GetScreenExt(&rc))) { StringCchPrintf(sz, ARRAYSIZE(sz), L" (%d, %d, %d, %d) - (%d, %d)\r\n", rc.left, rc.top, rc.right, rc.bottom, rc.right - rc.left, rc.bottom - rc.top); AddStringToStream(_pMemStream, sz); _rcView = rc; } AddStringToStream(_pMemStream, L"Start Pos\r\n"); if (SUCCEEDED(pContext->GetStart(ec, &pRange))) { if (SUCCEEDED(pView->GetTextExt(ec, pRange, &rc, &fClipped))) { StringCchPrintf(sz, ARRAYSIZE(sz), L" (%d, %d, %d, %d) - (%d, %d) %s\r\n", rc.left, rc.top, rc.right, rc.bottom, rc.right - rc.left, rc.bottom - rc.top, fClipped ? L"Clipped" : L""); AddStringToStream(_pMemStream, sz); _rcStartPos = rc; } pRange->Release(); } AddStringToStream(_pMemStream, L"End Pos\r\n"); if (SUCCEEDED(pContext->GetEnd(ec, &pRange))) { if (SUCCEEDED(pView->GetTextExt(ec, pRange, &rc, &fClipped))) { StringCchPrintf(sz, ARRAYSIZE(sz), L" (%d, %d, %d, %d) - (%d, %d) %s\r\n", rc.left, rc.top, rc.right, rc.bottom, rc.right - rc.left, rc.bottom - rc.top, fClipped ? L"Clipped" : L""); AddStringToStream(_pMemStream, sz); _rcEndPos = rc; } pRange->Release(); } AddStringToStream(_pMemStream, L"Selection Pos\r\n"); ULONG cFetched; if (SUCCEEDED(pContext->GetSelection(ec, 0, 1, &sel, &cFetched))) { if (sel.range) { if (SUCCEEDED(pView->GetTextExt(ec, sel.range, &rc, &fClipped))) { StringCchPrintf(sz, ARRAYSIZE(sz), L" (%d, %d, %d, %d) - (%d, %d) %s\r\n", rc.left, rc.top, rc.right, rc.bottom, rc.right - rc.left, rc.bottom - rc.top, fClipped ? L"Clipped" : L""); AddStringToStream(_pMemStream, sz); _rcSelection = rc; } AddStringToStream(_pMemStream, L" "); _DumpRange(ec, sel.range); AddStringToStream(_pMemStream, L"\r\n"); sel.range->Release(); } } AddStringToStream(_pMemStream, L"Char Pos\r\n"); if (SUCCEEDED(pContext->GetStart(ec, &pRange))) { LONG cch; memset(&_rcRanges[0] , 0, sizeof(RECT) * ARRAYSIZE(_rcRanges)); if (SUCCEEDED(pRange->ShiftEnd(ec, 1, &cch, NULL)) && cch) { for (int i = 0; i < ARRAYSIZE(_rcRanges); i++) { if (SUCCEEDED(pView->GetTextExt(ec, pRange, &rc, &fClipped))) { StringCchPrintf(sz, ARRAYSIZE(sz), L" (%d, %d, %d, %d) - (%d, %d) %s", rc.left, rc.top, rc.right, rc.bottom, rc.right - rc.left, rc.bottom - rc.top, fClipped ? L"Clipped" : L""); AddStringToStream(_pMemStream, sz); AddStringToStream(_pMemStream, L" "); ITfRange *pRangeTmp; if (SUCCEEDED(pRange->Clone(&pRangeTmp))) { _DumpRange(ec, pRangeTmp); pRangeTmp->Release(); } AddStringToStream(_pMemStream, L"\r\n"); OffsetRect(&rc, 0 - _rcView.left, 0 - _rcView.top); _rcRanges[i] = rc; } if (FAILED(pRange->ShiftEnd(ec, 1, &cch, NULL)) || !cch) break; if (FAILED(pRange->ShiftStart(ec, 1, &cch, NULL)) || !cch) break; } } pRange->Release(); } pView->Release(); } _EnsurePopupWindow(); if (IsShownExtentVisualWindows()) _UpdateExtentVisualWindows(); if (IsShownRangeExtentViewer()) _UpdateRangeExtentViewer(); return; }