Warning: Can't use blame annotator:
svn blame failed on trunk/desktop/ICSSerialPort.rbbas: ("Can't find a temporary directory: Internal error", 20014)

source: trunk/desktop/ICSSerialPort.rbbas @ 25

Revision 25, 18.6 KB checked in by pinwc4, 15 years ago (diff)

Added read command, still need logic to parse the packet that is returned

RevLine 
1#tag Class
2Protected Class ICSSerialPort
3Inherits serial
4        #tag Method, Flags = &h0
5                Sub resetCar()
6                  //This sends the command to reset the car back to a default configuration
7                  //Defaults are different for each car type
8                  setDefaultValues
9                 
10                  //Send the default values to the car
11                  writeCar
12                End Sub
13        #tag EndMethod
14
15        #tag Method, Flags = &h0
16                Sub setDefaultValues()
17                  //Set the defaults for the bytes sent to a car
18                 
19                  select case carType
20                   
21                  case "MR-03"
22                    byte01 = chrb(&hD5)
23                    byte02 = chrb(&h5A)
24                    byte03 = chrb(&h64)
25                    byte04 = chrb(&hFF)
26                    byte05 = chrb(&h02)
27                    byte06 = chrb(&h02)
28                    byte07 = chrb(&h01)
29                    byte08 = chrb(&hFF)
30                    byte09 = chrb(&hBC)
31                    byte10 = chrb(&h44)
32                    byte11 = chrb(&h88)
33                    byte12 = chrb(&h78)
34                    byte13 = chrb(&hFF)
35                    byte14 = chrb(&h2C)
36                    byte15 = chrb(&h05)
37                    byte16 = chrb(&h5A)
38                    byte17 = chrb(&h3C)
39                    byte18 = chrb(&h87)
40                   
41                  case "dNaNo"
42                    byte01 = chrb(&hD5)
43                    byte02 = chrb(&h5A)
44                    byte03 = chrb(&hFF)
45                    byte04 = chrb(&hFF)
46                    byte05 = chrb(&h0A)
47                    byte06 = chrb(&h03)
48                    byte07 = chrb(&h01)
49                    byte08 = chrb(&h40)
50                    byte09 = chrb(&hBC)
51                    byte10 = chrb(&h44)
52                    byte11 = chrb(&h88)
53                    byte12 = chrb(&h78)
54                    byte13 = chrb(&h03)
55                    byte14 = chrb(&hFF)
56                    byte15 = chrb(&hFF)
57                    byte16 = chrb(&h80)
58                    byte17 = chrb(&h80)
59                    byte18 = chrb(&hA7)
60                   
61                  case "ASF"
62                    byte01 = chrb(&hD5)
63                    byte02 = chrb(&h5A)
64                    byte03 = chrb(&hFF)
65                    byte04 = chrb(&hFF)
66                    byte05 = chrb(&h0A)
67                    byte06 = chrb(&h03)
68                    byte07 = chrb(&h01)
69                    byte08 = chrb(&h78)
70                    byte09 = chrb(&hBC)
71                    byte10 = chrb(&h44)
72                    byte11 = chrb(&h88)
73                    byte12 = chrb(&h78)
74                    byte13 = chrb(&h03)
75                    byte14 = chrb(&hFF)
76                    byte15 = chrb(&hFF)
77                    byte16 = chrb(&hFF)
78                    byte17 = chrb(&hFF)
79                    byte18 = chrb(&hDD)
80                   
81                  else
82                    //default thing to do
83                    MsgBox "Error invalid car type"
84                    return
85                  end select
86                 
87                  //trigger the event definition so main program knows the values changed
88                  valuesChanged()
89                End Sub
90        #tag EndMethod
91
92        #tag Method, Flags = &h0
93                Sub setCarType(value as string)
94                  //When setting car type we must reconfigure the serial port
95                  //Some car types have a different baud rate
96                 
97                  select case value
98                   
99                  case "MR-03"
100                    carType = value
101                    byte15 = chrb(&h05)
102                    byte16 = chrb(&h5A)
103                    byte17 = chrb(&h3C)
104                  case "dNaNo"
105                    carType = value
106                    byte15 = chrb(&hFF)
107                    byte16 = chrb(&h80)
108                    byte17 = chrb(&h80)
109                  case "ASF"
110                    carType = value
111                    byte15 = chrb(&hFF)
112                    byte16 = chrb(&hFF)
113                    byte17 = chrb(&hFF)
114                   
115                  else
116                    MsgBox "Error setting Car Type"
117                  end select
118                 
119                  valuesChanged()
120                End Sub
121        #tag EndMethod
122
123        #tag Method, Flags = &h0
124                Sub writeCar()
125                  //Send set bytes to the car
126                  mode = "write"
127                 
128                  dim sendstring as string
129                 
130                  calculateChecksum()
131                 
132                  sendstring = byte01 + byte02 + byte03 + byte04 + byte05 + byte06 + byte07 + byte08 + byte09 + byte10 + byte11 + byte12 + byte13 + byte14 + byte15 + byte16 + byte17 + byte18
133                 
134                  me.Write(sendstring)
135                End Sub
136        #tag EndMethod
137
138        #tag Method, Flags = &h0
139                Sub calculateChecksum()
140                  //Use this to calculate byte 18, the checksum
141                  //The checksum is just adding bytes 2-17 together but rounded at each byte
142                 
143                  dim i as integer
144                 
145                  i = (asc(byte02) + asc(byte03)) mod &h100
146                  i = (i + asc(byte04)) mod &h100
147                  i = (i + asc(byte05)) mod &h100
148                  i = (i + asc(byte06)) mod &h100
149                  i = (i + asc(byte07)) mod &h100
150                  i = (i + asc(byte08)) mod &h100
151                  i = (i + asc(byte09)) mod &h100
152                  i = (i + asc(byte10)) mod &h100
153                  i = (i + asc(byte11)) mod &h100
154                  i = (i + asc(byte12)) mod &h100
155                  i = (i + asc(byte13)) mod &h100
156                  i = (i + asc(byte14)) mod &h100
157                  i = (i + asc(byte15)) mod &h100
158                  i = (i + asc(byte16)) mod &h100
159                  i = (i + asc(byte17)) mod &h100
160                 
161                  byte18 = chrb(i)
162                End Sub
163        #tag EndMethod
164
165        #tag Method, Flags = &h0
166                Sub readCar()
167                  //Read values from the currently attached car
168                  dim sendstring as string
169                 
170                  mode = "read"
171                 
172                  sendstring = chrb(&hC5)
173                 
174                  me.Write(sendstring)
175                End Sub
176        #tag EndMethod
177
178        #tag Method, Flags = &h0
179                Sub Constructor()
180                  //Make sure we have a database and if not create it
181                  dim exists as boolean
182                 
183                  exists = prepareDB()
184                  if exists = false then
185                    //No database available, create one
186                    createDB()
187                  else
188                    //Database exists, connect to it
189                    if fsicsdb.Connect = false then
190                      MsgBox "Database connection failed"
191                    end if
192                  end if
193                 
194                  //Set default byte values
195                  byte01 = chrb(&hD5)
196                  byte02 = chrb(&h5A)
197                  byte03 = chrb(&h64)
198                  byte04 = chrb(&hFF)
199                  byte05 = chrb(&h02)
200                  byte06 = chrb(&h02)
201                  byte07 = chrb(&h01)
202                  byte08 = chrb(&hFF)
203                  byte09 = chrb(&hBC)
204                  byte10 = chrb(&h44)
205                  byte11 = chrb(&h88)
206                  byte12 = chrb(&h78)
207                  byte13 = chrb(&hFF)
208                  byte14 = chrb(&h2C)
209                  byte15 = chrb(&h05)
210                  byte16 = chrb(&h5A)
211                  byte17 = chrb(&h3C)
212                  byte18 = chrb(&h87)
213                 
214                  carType = "MR-03"
215                End Sub
216        #tag EndMethod
217
218        #tag Method, Flags = &h21
219                Private Function prepareDB() As Boolean
220                  //Open the database file
221                  fsicsdb = new REALSQLDatabase
222                  dim f as FolderItem = GetFolderItem("fsicsdb")
223                  fsicsdb.DatabaseFile = f
224                 
225                  return f.Exists
226                End Function
227        #tag EndMethod
228
229        #tag Method, Flags = &h21
230                Private Sub createDB()
231                  //Create a new database
232                 
233                 
234                  //make sure we can create the file
235                  if fsicsdb.CreateDatabaseFile() then
236                    if fsicsdb.Connect() then
237                      dim query as string
238                      query = "CREATE TABLE carprofiles (id INTEGER PRIMARY KEY, name VARCHAR, cartype VARCHAR, byte01 INTEGER, byte02 INTEGER, byte03 INTEGER, byte04 INTEGER, byte05 INTEGER, byte06 INTEGER"+_
239                      ", byte07 INTEGER, byte08 INTEGER, byte09 INTEGER, byte10 INTEGER, byte11 INTEGER, byte12 INTEGER, byte13 INTEGER, byte14 INTEGER, byte15 INTEGER, byte16 INTEGER, byte17 INTEGER"+_
240                      ", byte18 INTEGER, UNIQUE(name))"
241                      fsicsdb.SQLExecute(query)
242                      if fsicsdb.Error then
243                        MsgBox "Database Error (carprofiles):" + fsicsdb.ErrorMessage
244                        fsicsdb.Rollback
245                       
246                      else
247                        fsicsdb.Commit
248                      end if
249                     
250                     
251                    else
252                      MsgBox "Failed to connect to new database file"
253                    end if
254                  else
255                    //Failed to create database file
256                    MsgBox "Failed to create database file"
257                  end if
258                End Sub
259        #tag EndMethod
260
261        #tag Method, Flags = &h0
262                Function createProfile(theName as String) As Boolean
263                  dim success as boolean
264                  success = false
265                 
266                  //Make sure we got a name
267                  if theName = "" then
268                    return success
269                  else
270                    //Build a new database record
271                    dim rec as DatabaseRecord
272                    rec = New DatabaseRecord
273                   
274                    rec.Column("name") = theName
275                    rec.Column("cartype") = carType
276                    rec.IntegerColumn("byte01") = asc(byte01)
277                    rec.IntegerColumn("byte02") = asc(byte02)
278                    rec.IntegerColumn("byte03") = asc(byte03)
279                    rec.IntegerColumn("byte04") = asc(byte04)
280                    rec.IntegerColumn("byte05") = asc(byte05)
281                    rec.IntegerColumn("byte06") = asc(byte06)
282                    rec.IntegerColumn("byte07") = asc(byte07)
283                    rec.IntegerColumn("byte08") = asc(byte08)
284                    rec.IntegerColumn("byte09") = asc(byte09)
285                    rec.IntegerColumn("byte10") = asc(byte10)
286                    rec.IntegerColumn("byte11") = asc(byte11)
287                    rec.IntegerColumn("byte12") = asc(byte12)
288                    rec.IntegerColumn("byte13") = asc(byte13)
289                    rec.IntegerColumn("byte14") = asc(byte14)
290                    rec.IntegerColumn("byte15") = asc(byte15)
291                    rec.IntegerColumn("byte16") = asc(byte16)
292                    rec.IntegerColumn("byte17") = asc(byte17)
293                    rec.IntegerColumn("byte18") = asc(byte18)
294                   
295                    fsicsdb.InsertRecord("carprofiles", rec)
296                   
297                    if fsicsdb.Error = True then
298                      MsgBox "Error creating profile, " + fsicsdb.ErrorMessage
299                      fsicsdb.Rollback
300                    else
301                      fsicsdb.Commit
302                      success = true
303                    end if
304                  end if
305                 
306                  Return success
307                End Function
308        #tag EndMethod
309
310        #tag Method, Flags = &h0
311                Sub deleteProfile(theName as String)
312                  if theName <> "" then
313                   
314                    //Delete the profile selected
315                    fsicsdb.SQLExecute("DELETE FROM carprofiles WHERE name = '" + theName + "'")
316                   
317                    //Check for errors
318                    if fsicsdb.Error = True then
319                      MsgBox "Error deleting profile"
320                      fsicsdb.Rollback
321                    else
322                      fsicsdb.Commit
323                    end if
324                   
325                  else
326                   
327                    MsgBox "Please select a profile to delete"
328                   
329                  end if
330                End Sub
331        #tag EndMethod
332
333        #tag Method, Flags = &h0
334                Sub saveProfile(theName as String)
335                  if theName <> "" then
336                   
337                    dim rs as RecordSet
338                    dim status as Boolean
339                   
340                    //Find a record
341                    rs = fsicsdb.SQLSelect("SELECT * FROM carprofiles WHERE name= '"+theName+"'")
342                   
343                    //Make sure we got a record
344                    if rs <> nil then
345                      //delete the record before saving
346                      deleteProfile(theName)
347                    end if
348                   
349                    rs.Close
350                   
351                    status = createProfile(theName)
352                   
353                  else
354                   
355                    MsgBox "Please select a profile to modify"
356                   
357                  end if
358                End Sub
359        #tag EndMethod
360
361        #tag Method, Flags = &h0
362                Function listProfiles() As String()
363                  dim rs as RecordSet
364                  dim s() as string
365                 
366                  //Find records
367                  rs = fsicsdb.SQLSelect("SELECT name FROM carprofiles")
368                 
369                  if rs <> nil then
370                   
371                    while rs.EOF = false
372                      s.Append rs.Field("name").StringValue
373                      rs.MoveNext
374                    wend
375                   
376                  end if
377                 
378                  rs.Close
379                  Return s()
380                End Function
381        #tag EndMethod
382
383        #tag Method, Flags = &h0
384                Sub loadProfile(theName as string)
385                  //Find the profile in the database, update the bytes and fire the event
386                  dim rs as RecordSet
387                 
388                  rs = fsicsdb.SQLSelect("SELECT * FROM carprofiles WHERE name= '"+theName+"'")
389                 
390                  //Make sure we got a record to work with
391                  if rs <> Nil then
392                   
393                    if rs.Field("cartype").StringValue <> "" then
394                      carType = rs.Field("cartype").StringValue
395                    end if
396                   
397                    if rs.Field("byte01").StringValue <> "" then
398                      byte01 = chrb(rs.Field("byte01").IntegerValue)
399                    end if
400                    if rs.Field("byte02").StringValue <> "" then
401                      byte02 = chrb(rs.Field("byte02").IntegerValue)
402                    end if
403                    if rs.Field("byte03").StringValue <> "" then
404                      byte03 = chrb(rs.Field("byte03").IntegerValue)
405                    end if
406                    if rs.Field("byte04").StringValue <> "" then
407                      byte04 = chrb(rs.Field("byte04").IntegerValue)
408                    end if
409                    if rs.Field("byte05").StringValue <> "" then
410                      byte05 = chrb(rs.Field("byte05").IntegerValue)
411                    end if
412                    if rs.Field("byte06").StringValue <> "" then
413                      byte06 = chrb(rs.Field("byte06").IntegerValue)
414                    end if
415                    if rs.Field("byte07").StringValue <> "" then
416                      byte07 = chrb(rs.Field("byte07").IntegerValue)
417                    end if
418                    if rs.Field("byte08").StringValue <> "" then
419                      byte08 = chrb(rs.Field("byte08").IntegerValue)
420                    end if
421                    if rs.Field("byte09").StringValue <> "" then
422                      byte09 = chrb(rs.Field("byte09").IntegerValue)
423                    end if
424                    if rs.Field("byte10").StringValue <> "" then
425                      byte10 = chrb(rs.Field("byte10").IntegerValue)
426                    end if
427                    if rs.Field("byte11").StringValue <> "" then
428                      byte11 = chrb(rs.Field("byte11").IntegerValue)
429                    end if
430                    if rs.Field("byte12").StringValue <> "" then
431                      byte12 = chrb(rs.Field("byte12").IntegerValue)
432                    end if
433                    if rs.Field("byte13").StringValue <> "" then
434                      byte13 = chrb(rs.Field("byte13").IntegerValue)
435                    end if
436                    if rs.Field("byte14").StringValue <> "" then
437                      byte14 = chrb(rs.Field("byte14").IntegerValue)
438                    end if
439                    if rs.Field("byte15").StringValue <> "" then
440                      byte15 = chrb(rs.Field("byte15").IntegerValue)
441                    end if
442                    if rs.Field("byte16").StringValue <> "" then
443                      byte16 = chrb(rs.Field("byte16").IntegerValue)
444                    end if
445                    if rs.Field("byte17").StringValue <> "" then
446                      byte17 = chrb(rs.Field("byte17").IntegerValue)
447                    end if
448                    if rs.Field("byte18").StringValue <> "" then
449                      byte18 = chrb(rs.Field("byte18").IntegerValue)
450                    end if
451                   
452                    valuesChanged()
453                  end if
454                End Sub
455        #tag EndMethod
456
457
458        #tag Hook, Flags = &h0
459                Event valuesChanged()
460        #tag EndHook
461
462
463        #tag Note, Name = General
464                Car type must be set for this to operate
465                Car types supported by this application are
466                MR-03
467                dNaNo
468                ASF
469        #tag EndNote
470
471
472        #tag Property, Flags = &h0
473                byte01 As String
474        #tag EndProperty
475
476        #tag Property, Flags = &h0
477                byte11 As String
478        #tag EndProperty
479
480        #tag Property, Flags = &h0
481                byte12 As String
482        #tag EndProperty
483
484        #tag Property, Flags = &h0
485                byte13 As String
486        #tag EndProperty
487
488        #tag Property, Flags = &h0
489                byte14 As String
490        #tag EndProperty
491
492        #tag Property, Flags = &h0
493                byte15 As String
494        #tag EndProperty
495
496        #tag Property, Flags = &h0
497                byte16 As String
498        #tag EndProperty
499
500        #tag Property, Flags = &h0
501                byte17 As String
502        #tag EndProperty
503
504        #tag Property, Flags = &h0
505                byte18 As String
506        #tag EndProperty
507
508        #tag Property, Flags = &h0
509                byte02 As String
510        #tag EndProperty
511
512        #tag Property, Flags = &h0
513                byte03 As String
514        #tag EndProperty
515
516        #tag Property, Flags = &h0
517                byte04 As String
518        #tag EndProperty
519
520        #tag Property, Flags = &h0
521                byte05 As String
522        #tag EndProperty
523
524        #tag Property, Flags = &h0
525                byte06 As String
526        #tag EndProperty
527
528        #tag Property, Flags = &h0
529                byte07 As String
530        #tag EndProperty
531
532        #tag Property, Flags = &h0
533                byte08 As String
534        #tag EndProperty
535
536        #tag Property, Flags = &h0
537                byte09 As String
538        #tag EndProperty
539
540        #tag Property, Flags = &h0
541                byte10 As String
542        #tag EndProperty
543
544        #tag Property, Flags = &h0
545                carType As String = "MR-03"
546        #tag EndProperty
547
548        #tag Property, Flags = &h0
549                fsicsdb As REALSQLDatabase
550        #tag EndProperty
551
552        #tag Property, Flags = &h0
553                mode As String = "none"
554        #tag EndProperty
555
556
557        #tag ViewBehavior
558                #tag ViewProperty
559                        Name="Name"
560                        Visible=true
561                        Group="ID"
562                        InheritedFrom="serial"
563                #tag EndViewProperty
564                #tag ViewProperty
565                        Name="Index"
566                        Visible=true
567                        Group="ID"
568                        Type="Integer"
569                        InheritedFrom="serial"
570                #tag EndViewProperty
571                #tag ViewProperty
572                        Name="Super"
573                        Visible=true
574                        Group="ID"
575                        InheritedFrom="serial"
576                #tag EndViewProperty
577                #tag ViewProperty
578                        Name="Left"
579                        Visible=true
580                        Group="Position"
581                        InheritedFrom="serial"
582                #tag EndViewProperty
583                #tag ViewProperty
584                        Name="Top"
585                        Visible=true
586                        Group="Position"
587                        InheritedFrom="serial"
588                #tag EndViewProperty
589                #tag ViewProperty
590                        Name="Baud"
591                        Visible=true
592                        Group="Behavior"
593                        InitialValue="13"
594                        Type="Integer"
595                        EditorType="Enum"
596                        InheritedFrom="serial"
597                        #tag EnumValues
598                                "0 - 300"
599                                "1 - 600"
600                                "2 - 1200"
601                                "3 - 1800"
602                                "4 - 2400"
603                                "5 - 3600"
604                                "6 - 4800"
605                                "7 - 7200"
606                                "8 - 9600"
607                                "9 - 14400"
608                                "10 - 19200"
609                                "11 - 28800"
610                                "12 - 38400"
611                                "13 - 57600"
612                                "14 - 115200"
613                                "15 - 230400"
614                        #tag EndEnumValues
615                #tag EndViewProperty
616                #tag ViewProperty
617                        Name="Bits"
618                        Visible=true
619                        Group="Behavior"
620                        InitialValue="3"
621                        Type="Integer"
622                        EditorType="Enum"
623                        InheritedFrom="serial"
624                        #tag EnumValues
625                                "0 - 5 Data Bits"
626                                "1 - 6 Data Bits"
627                                "2 - 7 Data Bits"
628                                "3 - 8 Data bits"
629                        #tag EndEnumValues
630                #tag EndViewProperty
631                #tag ViewProperty
632                        Name="Parity"
633                        Visible=true
634                        Group="Behavior"
635                        InitialValue="0"
636                        Type="Integer"
637                        EditorType="Enum"
638                        InheritedFrom="serial"
639                        #tag EnumValues
640                                "0 - No Parity"
641                                "1 - Odd Parity"
642                                "2 - EvenParity"
643                        #tag EndEnumValues
644                #tag EndViewProperty
645                #tag ViewProperty
646                        Name="Stop"
647                        Visible=true
648                        Group="Behavior"
649                        InitialValue="0"
650                        Type="Integer"
651                        EditorType="Enum"
652                        InheritedFrom="serial"
653                        #tag EnumValues
654                                "0 - 1 Stop Bit"
655                                "1 - 1.5 Stop Bits"
656                                "2 - 2 Stop Bits"
657                        #tag EndEnumValues
658                #tag EndViewProperty
659                #tag ViewProperty
660                        Name="XON"
661                        Visible=true
662                        Group="Behavior"
663                        Type="Boolean"
664                        InheritedFrom="serial"
665                #tag EndViewProperty
666                #tag ViewProperty
667                        Name="CTS"
668                        Visible=true
669                        Group="Behavior"
670                        Type="Boolean"
671                        InheritedFrom="serial"
672                #tag EndViewProperty
673                #tag ViewProperty
674                        Name="DTR"
675                        Visible=true
676                        Group="Behavior"
677                        Type="Boolean"
678                        InheritedFrom="serial"
679                #tag EndViewProperty
680                #tag ViewProperty
681                        Name="byte01"
682                        Group="Behavior"
683                        InitialValue="&hFF"
684                        Type="String"
685                        EditorType="MultiLineEditor"
686                #tag EndViewProperty
687                #tag ViewProperty
688                        Name="byte11"
689                        Group="Behavior"
690                        Type="String"
691                        EditorType="MultiLineEditor"
692                #tag EndViewProperty
693                #tag ViewProperty
694                        Name="byte12"
695                        Group="Behavior"
696                        Type="String"
697                        EditorType="MultiLineEditor"
698                #tag EndViewProperty
699                #tag ViewProperty
700                        Name="byte13"
701                        Group="Behavior"
702                        Type="String"
703                        EditorType="MultiLineEditor"
704                #tag EndViewProperty
705                #tag ViewProperty
706                        Name="byte14"
707                        Group="Behavior"
708                        Type="String"
709                        EditorType="MultiLineEditor"
710                #tag EndViewProperty
711                #tag ViewProperty
712                        Name="byte15"
713                        Group="Behavior"
714                        Type="String"
715                        EditorType="MultiLineEditor"
716                #tag EndViewProperty
717                #tag ViewProperty
718                        Name="byte16"
719                        Group="Behavior"
720                        Type="String"
721                        EditorType="MultiLineEditor"
722                #tag EndViewProperty
723                #tag ViewProperty
724                        Name="byte17"
725                        Group="Behavior"
726                        Type="String"
727                        EditorType="MultiLineEditor"
728                #tag EndViewProperty
729                #tag ViewProperty
730                        Name="byte18"
731                        Group="Behavior"
732                        Type="String"
733                        EditorType="MultiLineEditor"
734                #tag EndViewProperty
735                #tag ViewProperty
736                        Name="byte02"
737                        Group="Behavior"
738                        Type="String"
739                        EditorType="MultiLineEditor"
740                #tag EndViewProperty
741                #tag ViewProperty
742                        Name="byte03"
743                        Group="Behavior"
744                        Type="String"
745                        EditorType="MultiLineEditor"
746                #tag EndViewProperty
747                #tag ViewProperty
748                        Name="byte04"
749                        Group="Behavior"
750                        Type="String"
751                        EditorType="MultiLineEditor"
752                #tag EndViewProperty
753                #tag ViewProperty
754                        Name="byte05"
755                        Group="Behavior"
756                        Type="String"
757                        EditorType="MultiLineEditor"
758                #tag EndViewProperty
759                #tag ViewProperty
760                        Name="byte06"
761                        Group="Behavior"
762                        Type="String"
763                        EditorType="MultiLineEditor"
764                #tag EndViewProperty
765                #tag ViewProperty
766                        Name="byte07"
767                        Group="Behavior"
768                        Type="String"
769                        EditorType="MultiLineEditor"
770                #tag EndViewProperty
771                #tag ViewProperty
772                        Name="byte08"
773                        Group="Behavior"
774                        Type="String"
775                        EditorType="MultiLineEditor"
776                #tag EndViewProperty
777                #tag ViewProperty
778                        Name="byte09"
779                        Group="Behavior"
780                        Type="String"
781                        EditorType="MultiLineEditor"
782                #tag EndViewProperty
783                #tag ViewProperty
784                        Name="byte10"
785                        Group="Behavior"
786                        Type="String"
787                        EditorType="MultiLineEditor"
788                #tag EndViewProperty
789                #tag ViewProperty
790                        Name="carType"
791                        Group="Behavior"
792                        InitialValue="MR-03"
793                        Type="String"
794                #tag EndViewProperty
795                #tag ViewProperty
796                        Name="mode"
797                        Group="Behavior"
798                        InitialValue="read"
799                        Type="String"
800                #tag EndViewProperty
801        #tag EndViewBehavior
802End Class
803#tag EndClass
Note: See TracBrowser for help on using the repository browser.