⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpdfrm.frm

📁 TMS320F2812的C++ examples 各个模块的程序
💻 FRM
📖 第 1 页 / 共 3 页
字号:
    ' Set the number of Rows and Columns    ' Find the biggest max message of all the channels    For channel_counter = 1 To lst_ChannelList.ListItems.Count        nbr_rows = lst_ChannelList.ListItems.Item(channel_counter).SubItems(MAXMESSAGES_ITEM)        If nbr_rows > total_rows Then            total_rows = nbr_rows        End If    Next channel_counter        GPDGridFrm.grd_GridSheet.Rows = total_rows + 1        ' Find the total amount of columns needed for all the channels    For channel_counter = 1 To lst_ChannelList.ListItems.Count        ' If the current channel is not the last channel then        ' add max members to total columns, plus an additional        ' column.  Otherwise, just add max members.  This will        ' make sure that we have just enough columns.        total_columns = total_columns + _            lst_ChannelList.ListItems.Item(channel_counter).SubItems(MAXMEMBERS_ITEM)        If channel_counter < lst_ChannelList.ListItems.Count Then            total_columns = total_columns + 1        End If    Next channel_counter    GPDGridFrm.grd_GridSheet.Cols = total_columns + 1        ' Clear Grid    GPDGridFrm.grd_GridSheet.Clear        ' Label rows    GPDGridFrm.grd_GridSheet.Col = 0    For rowinc = 1 To total_rows        GPDGridFrm.grd_GridSheet.Row = rowinc        GPDGridFrm.grd_GridSheet = rowinc    Next rowinc    ' Make an array to hold column locations per channel object    ReDim Column_Point(1 To lst_ChannelList.ListItems.Count) As Column_Break_Points        ' Label columns & set column locations per channel    GPDGridFrm.grd_GridSheet.Row = 0    For channel_counter = 1 To lst_ChannelList.ListItems.Count        If channel_counter = 1 Then            Column_Point(1).Start_Point = 1            Column_Point(1).End_Point = (lst_ChannelList.ListItems.Item(1).SubItems(MAXMEMBERS_ITEM))        Else ' Leave blank column between channels            Column_Point(channel_counter).Start_Point = _                Column_Point(channel_counter - 1).End_Point + 2            Column_Point(channel_counter).End_Point = _                Column_Point(channel_counter).Start_Point + _                lst_ChannelList.ListItems.Item(channel_counter).SubItems(MAXMEMBERS_ITEM) - 1        End If        ' Label column with channel name and member number        GPDGridFrm.grd_GridSheet.Col = _            Column_Point(channel_counter).Start_Point        GPDGridFrm.grd_GridSheet = _            lst_ChannelList.ListItems.Item(channel_counter)        For colinc = 2 To lst_ChannelList.ListItems.Item(channel_counter).SubItems(MAXMEMBERS_ITEM)            GPDGridFrm.grd_GridSheet.Col = _                colinc + Column_Point(channel_counter).Start_Point - 1            GPDGridFrm.grd_GridSheet = colinc        Next colinc    Next channel_counter        ' Set width of every column    For colinc = 1 To total_columns        GPDGridFrm.grd_GridSheet.ColWidth(colinc) = 1000    Next colinc    End SubPrivate Sub Init_Row_Col_Start_Points()' Initialize column start points for all channelsDim RC_channel_counter As Integer    For RC_channel_counter = 1 To lst_ChannelList.ListItems.Count                ' Initialize row start point        MethodValues(RC_channel_counter).message_counter = 1                ' Initialize column start point        MethodValues(RC_channel_counter).member_counter = _            Column_Point(RC_channel_counter).Start_Point            Next RC_channel_counterEnd SubPrivate Sub Process_Data(ByVal member_value As Long)' distribute data to grid cells        ' Determine where to put message on grid sheet    ' Test member value of message    If (MethodValues(channel_number).member_counter > _        Column_Point(channel_number).End_Point) Then        ' reset column        MethodValues(channel_number).member_counter = _            Column_Point(channel_number).Start_Point        ' increment the rows        MethodValues(channel_number).message_counter = _            MethodValues(channel_number).message_counter + 1    End If        ' If we are within are row boundaries then display the data    If (MethodValues(channel_number).message_counter <= _        lst_ChannelList.ListItems.Item(channel_number).SubItems(MAXMESSAGES_ITEM)) Then            ' Set focus on a cell            GPDGridFrm.grd_GridSheet.Row = _                MethodValues(channel_number).message_counter            GPDGridFrm.grd_GridSheet.Col = _                MethodValues(channel_number).member_counter                ' Fill cell with a value            GPDGridFrm.grd_GridSheet = member_value                    ' Increment member number counter            MethodValues(channel_number).member_counter = _            MethodValues(channel_number).member_counter + 1    End If    End SubPrivate Sub Do_Read()Dim read_value_I2 As IntegerDim read_value_I4 As Long    ' Read until we have reached the end of a log file    If (MethodValues(channel_number).read_status = EEndOfLogFile) Then        ' Close channel        MethodValues(channel_number).stat = _            rtdx(channel_number).Close()        ' Mark channel as closed        MethodValues(channel_number).CHANNEL_OPEN = False        Exit Sub    End If               ' Test for 32bit or 16bit Read    If (lst_ChannelList.ListItems.Item(channel_number).SubItems(DATATYPE_ITEM) = TYPE_32BIT_INTEGER) Then        '########## RTDX(TM) ##########'        MethodValues(channel_number).read_status = _            rtdx(channel_number).ReadI4(read_value_I4)        '########## RTDX(TM) ##########'    Else        '########## RTDX(TM) ##########'        MethodValues(channel_number).read_status = _            rtdx(channel_number).ReadI2(read_value_I2)        '########## RTDX(TM) ##########'            read_value_I4 = read_value_I2    End If                If (MethodValues(channel_number).read_status = SUCCESS) Then        ' Call the procedure that distributes the        ' member values to grid cells        Process_Data read_value_I4    End If    End SubPrivate Sub Do_Write()Dim Write_Value_I2 As Integer        ' Write until Write_Value_I4 is greater than or equal    ' to (total messages(rows) * total members(columns))    If MethodValues(channel_number).Write_Value_I4 >= _        lst_ChannelList.ListItems.Item(channel_number).SubItems(MAXMESSAGES_ITEM) * _            lst_ChannelList.ListItems.Item(channel_number).SubItems(MAXMEMBERS_ITEM) Then                ' Close channel                MethodValues(channel_number).stat = _                    rtdx(channel_number).Close()                ' Mark channel as closed                MethodValues(channel_number).CHANNEL_OPEN = False                Exit Sub    End If        ' check buffer status    '########## RTDX(TM) ##########'    ' Test for 32bit or 16bit StatusOfWrite    MethodValues(channel_number).write_status = _        rtdx(channel_number).StatusOfWrite _            (MethodValues(channel_number).buffer_status)    '########## RTDX(TM) ##########'    If (lst_ChannelList.ListItems.Item(channel_number).SubItems(DATATYPE_ITEM) = TYPE_32BIT_INTEGER) Then       MethodValues(channel_number).buffer_status = _            MethodValues(channel_number).buffer_status / 4    Else        '########## RTDX(TM) ##########'       MethodValues(channel_number).buffer_status = _            MethodValues(channel_number).buffer_status / 2        '########## RTDX(TM) ##########'    End If        ' Write Data if buffer is negative & last write status is OK    If (MethodValues(channel_number).buffer_status < 0) And _    (MethodValues(channel_number).write_status <> FAIL) Then        MethodValues(channel_number).Write_Value_I4 = _            MethodValues(channel_number).Write_Value_I4 + 1                ' Call Ole WriteI4 Method        If (lst_ChannelList.ListItems.Item(channel_number).SubItems(DATATYPE_ITEM) = TYPE_32BIT_INTEGER) Then            '########## RTDX(TM) ##########'            MethodValues(channel_number).write_status = _                rtdx(channel_number).WriteI4 _                    (MethodValues(channel_number).Write_Value_I4, _                        MethodValues(channel_number).buffer_status)            '########## RTDX(TM) ##########'        Else            Write_Value_I2 = MethodValues(channel_number).Write_Value_I4            '########## RTDX(TM) ##########'            MethodValues(channel_number).write_status = _                rtdx(channel_number).WriteI2(Write_Value_I2, _                    MethodValues(channel_number).buffer_status)            '########## RTDX(TM) ##########'        End If        ' Display Data        Process_Data MethodValues(channel_number).Write_Value_I4    End IfEnd SubPrivate Sub cmd_Toggle()Dim instantiation_incr As Integer        If on_off_toggle = False Then                on_off_toggle = True        cmd_ToolBar.Buttons.Item(TOGGLE_BUTTON).Caption = STOP_CAPTION        cmd_ToolBar.Buttons.Item(TOGGLE_BUTTON).Image = HALT_IMAGE        sts_GPDStatus.Panels.Item(GPD_STATE_PANEL).Text = RUNNING_MODE_CAPTION        'Initialize grid        Init_Grid        ' Disable ALL controls        cmd_ToolBar.Buttons.Item(ADDCHANNEL_BUTTON).Enabled = False        cmd_ToolBar.Buttons.Item(MODIFYCHANNEL_BUTTON).Enabled = False        cmd_ToolBar.Buttons.Item(DELETECHANNEL_BUTTON).Enabled = False        cmd_ToolBar.Buttons.Item(DELETEALLCHANNELS_BUTTON).Enabled = False                        ' Allocate array for OLE objects        ReDim rtdx(1 To lst_ChannelList.ListItems.Count) As Object            ReDim MethodValues(1 To lst_ChannelList.ListItems.Count) As RTDX_Method_Attributes                For instantiation_incr = 1 To lst_ChannelList.ListItems.Count            ' Do the object instantiation            '########## RTDX(TM) ##########'#If DIRECT_INTERFACE_CONNECTION Then        Set Engine_Write = CreateObject("CodeComposer.Application").DspBoards _                .GetDspTaskByFullName(BoardProc_frm.CurrentSelectedBoard + "\" + BoardProc_frm _                .CurrentSelectedProcessor).rtdx.CreateRtdxChannel                            Set rtdx(instantiation_incr) = CreateObject("CodeComposer.Application").DspBoards _                                            .GetDspTaskByFullName(lst_ChannelList.ListItems.Item(instantiation_incr).SubItems(BOARD_ITEM) _                                            + "\" + lst_ChannelList.ListItems.Item(instantiation_incr).SubItems(PROCESSOR_ITEM)) _                                            .rtdx.CreateRtdxChannel                                                                                       DspTasks.Item(0).rtdx.CreateRtdxChannel#Else            Set rtdx(instantiation_incr) = CreateObject("RTDX")                        MethodValues(instantiation_incr).stat = _            rtdx(instantiation_incr).SetProcessor(lst_ChannelList.ListItems.Item(instantiation_incr).SubItems(BOARD_ITEM), _                                                    lst_ChannelList.ListItems.Item(instantiation_incr).SubItems(PROCESSOR_ITEM))#End If            '########## RTDX(TM) ##########'                        ' Open a channel            '########## RTDX(TM) ##########'            MethodValues(instantiation_incr).stat = _            rtdx(instantiation_incr).Open(lst_ChannelList.ListItems.Item(instantiation_incr), _                lst_ChannelList.ListItems.Item(instantiation_incr).SubItems(CHANNELTYPE_ITEM))            '########## RTDX(TM) ##########'                        If MethodValues(instantiation_incr).stat <> SUCCESS Then                MethodValues(instantiation_incr).CHANNEL_OPEN = False                MsgBox (lst_ChannelList.ListItems.Item(instantiation_incr) & _                        " is an unknown channel name")                on_off_toggle = True                cmd_Toggle                Exit Sub            Else                MethodValues(instantiation_incr).CHANNEL_OPEN = True            End If                    Next instantiation_incr                ' Initialize row & column start points for all channels        Init_Row_Col_Start_Points            'Show grid        GPDGridFrm.Show

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -