source: trunk/desktop/ICSSerialPort.rbbas @ 21

Revision 21, 18.5 KB checked in by pinwc4, 15 years ago (diff)

Added logic to hide save and delete profile buttons after a profile has been deleted and removed from the menu.

Line 
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                 
169                  mode = "read"
170                End Sub
171        #tag EndMethod
172
173        #tag Method, Flags = &h0
174                Sub Constructor()
175                  //Make sure we have a database and if not create it
176                  dim exists as boolean
177                 
178                  exists = prepareDB()
179                  if exists = false then
180                    //No database available, create one
181                    createDB()
182                  else
183                    //Database exists, connect to it
184                    if fsicsdb.Connect = false then
185                      MsgBox "Database connection failed"
186                    end if
187                  end if
188                 
189                  //Set default byte values
190                  byte01 = chrb(&hD5)
191                  byte02 = chrb(&h5A)
192                  byte03 = chrb(&h64)
193                  byte04 = chrb(&hFF)
194                  byte05 = chrb(&h02)
195                  byte06 = chrb(&h02)
196                  byte07 = chrb(&h01)
197                  byte08 = chrb(&hFF)
198                  byte09 = chrb(&hBC)
199                  byte10 = chrb(&h44)
200                  byte11 = chrb(&h88)
201                  byte12 = chrb(&h78)
202                  byte13 = chrb(&hFF)
203                  byte14 = chrb(&h2C)
204                  byte15 = chrb(&h05)
205                  byte16 = chrb(&h5A)
206                  byte17 = chrb(&h3C)
207                  byte18 = chrb(&h87)
208                 
209                  carType = "MR-03"
210                End Sub
211        #tag EndMethod
212
213        #tag Method, Flags = &h21
214                Private Function prepareDB() As Boolean
215                  //Open the database file
216                  fsicsdb = new REALSQLDatabase
217                  dim f as FolderItem = GetFolderItem("fsicsdb")
218                  fsicsdb.DatabaseFile = f
219                 
220                  return f.Exists
221                End Function
222        #tag EndMethod
223
224        #tag Method, Flags = &h21
225                Private Sub createDB()
226                  //Create a new database
227                 
228                 
229                  //make sure we can create the file
230                  if fsicsdb.CreateDatabaseFile() then
231                    if fsicsdb.Connect() then
232                      dim query as string
233                      query = "CREATE TABLE carprofiles (id INTEGER PRIMARY KEY, name VARCHAR, cartype VARCHAR, byte01 INTEGER, byte02 INTEGER, byte03 INTEGER, byte04 INTEGER, byte05 INTEGER, byte06 INTEGER"+_
234                      ", byte07 INTEGER, byte08 INTEGER, byte09 INTEGER, byte10 INTEGER, byte11 INTEGER, byte12 INTEGER, byte13 INTEGER, byte14 INTEGER, byte15 INTEGER, byte16 INTEGER, byte17 INTEGER"+_
235                      ", byte18 INTEGER, UNIQUE(name))"
236                      fsicsdb.SQLExecute(query)
237                      if fsicsdb.Error then
238                        MsgBox "Database Error (carprofiles):" + fsicsdb.ErrorMessage
239                        fsicsdb.Rollback
240                       
241                      else
242                        fsicsdb.Commit
243                      end if
244                     
245                     
246                    else
247                      MsgBox "Failed to connect to new database file"
248                    end if
249                  else
250                    //Failed to create database file
251                    MsgBox "Failed to create database file"
252                  end if
253                End Sub
254        #tag EndMethod
255
256        #tag Method, Flags = &h0
257                Function createProfile(theName as String) As Boolean
258                  dim success as boolean
259                  success = false
260                 
261                  //Make sure we got a name
262                  if theName = "" then
263                    return success
264                  else
265                    //Build a new database record
266                    dim rec as DatabaseRecord
267                    rec = New DatabaseRecord
268                   
269                    rec.Column("name") = theName
270                    rec.Column("cartype") = carType
271                    rec.IntegerColumn("byte01") = asc(byte01)
272                    rec.IntegerColumn("byte02") = asc(byte02)
273                    rec.IntegerColumn("byte03") = asc(byte03)
274                    rec.IntegerColumn("byte04") = asc(byte04)
275                    rec.IntegerColumn("byte05") = asc(byte05)
276                    rec.IntegerColumn("byte06") = asc(byte06)
277                    rec.IntegerColumn("byte07") = asc(byte07)
278                    rec.IntegerColumn("byte08") = asc(byte08)
279                    rec.IntegerColumn("byte09") = asc(byte09)
280                    rec.IntegerColumn("byte10") = asc(byte10)
281                    rec.IntegerColumn("byte11") = asc(byte11)
282                    rec.IntegerColumn("byte12") = asc(byte12)
283                    rec.IntegerColumn("byte13") = asc(byte13)
284                    rec.IntegerColumn("byte14") = asc(byte14)
285                    rec.IntegerColumn("byte15") = asc(byte15)
286                    rec.IntegerColumn("byte16") = asc(byte16)
287                    rec.IntegerColumn("byte17") = asc(byte17)
288                    rec.IntegerColumn("byte18") = asc(byte18)
289                   
290                    fsicsdb.InsertRecord("carprofiles", rec)
291                   
292                    if fsicsdb.Error = True then
293                      MsgBox "Error creating profile, " + fsicsdb.ErrorMessage
294                      fsicsdb.Rollback
295                    else
296                      fsicsdb.Commit
297                      success = true
298                    end if
299                  end if
300                 
301                  Return success
302                End Function
303        #tag EndMethod
304
305        #tag Method, Flags = &h0
306                Sub deleteProfile(theName as String)
307                  if theName <> "" then
308                   
309                    //Delete the profile selected
310                    fsicsdb.SQLExecute("DELETE FROM carprofiles WHERE name = '" + theName + "'")
311                   
312                    //Check for errors
313                    if fsicsdb.Error = True then
314                      MsgBox "Error deleting profile"
315                      fsicsdb.Rollback
316                    else
317                      fsicsdb.Commit
318                    end if
319                   
320                  else
321                   
322                    MsgBox "Please select a profile to delete"
323                   
324                  end if
325                End Sub
326        #tag EndMethod
327
328        #tag Method, Flags = &h0
329                Sub saveProfile(theName as String)
330                  if theName <> "" then
331                   
332                    dim rs as RecordSet
333                    dim status as Boolean
334                   
335                    //Find a record
336                    rs = fsicsdb.SQLSelect("SELECT * FROM carprofiles WHERE name= '"+theName+"'")
337                   
338                    //Make sure we got a record
339                    if rs <> nil then
340                      //delete the record before saving
341                      deleteProfile(theName)
342                    end if
343                   
344                    rs.Close
345                   
346                    status = createProfile(theName)
347                   
348                  else
349                   
350                    MsgBox "Please select a profile to modify"
351                   
352                  end if
353                End Sub
354        #tag EndMethod
355
356        #tag Method, Flags = &h0
357                Function listProfiles() As String()
358                  dim rs as RecordSet
359                  dim s() as string
360                 
361                  //Find records
362                  rs = fsicsdb.SQLSelect("SELECT name FROM carprofiles")
363                 
364                  if rs <> nil then
365                   
366                    while rs.EOF = false
367                      s.Append rs.Field("name").StringValue
368                      rs.MoveNext
369                    wend
370                   
371                  end if
372                 
373                  rs.Close
374                  Return s()
375                End Function
376        #tag EndMethod
377
378        #tag Method, Flags = &h0
379                Sub loadProfile(theName as string)
380                  //Find the profile in the database, update the bytes and fire the event
381                  dim rs as RecordSet
382                 
383                  rs = fsicsdb.SQLSelect("SELECT * FROM carprofiles WHERE name= '"+theName+"'")
384                 
385                  //Make sure we got a record to work with
386                  if rs <> Nil then
387                   
388                    if rs.Field("cartype").StringValue <> "" then
389                      carType = rs.Field("cartype").StringValue
390                    end if
391                   
392                    if rs.Field("byte01").StringValue <> "" then
393                      byte01 = chrb(rs.Field("byte01").IntegerValue)
394                    end if
395                    if rs.Field("byte02").StringValue <> "" then
396                      byte02 = chrb(rs.Field("byte02").IntegerValue)
397                    end if
398                    if rs.Field("byte03").StringValue <> "" then
399                      byte03 = chrb(rs.Field("byte03").IntegerValue)
400                    end if
401                    if rs.Field("byte04").StringValue <> "" then
402                      byte04 = chrb(rs.Field("byte04").IntegerValue)
403                    end if
404                    if rs.Field("byte05").StringValue <> "" then
405                      byte05 = chrb(rs.Field("byte05").IntegerValue)
406                    end if
407                    if rs.Field("byte06").StringValue <> "" then
408                      byte06 = chrb(rs.Field("byte06").IntegerValue)
409                    end if
410                    if rs.Field("byte07").StringValue <> "" then
411                      byte07 = chrb(rs.Field("byte07").IntegerValue)
412                    end if
413                    if rs.Field("byte08").StringValue <> "" then
414                      byte08 = chrb(rs.Field("byte08").IntegerValue)
415                    end if
416                    if rs.Field("byte09").StringValue <> "" then
417                      byte09 = chrb(rs.Field("byte09").IntegerValue)
418                    end if
419                    if rs.Field("byte10").StringValue <> "" then
420                      byte10 = chrb(rs.Field("byte10").IntegerValue)
421                    end if
422                    if rs.Field("byte11").StringValue <> "" then
423                      byte11 = chrb(rs.Field("byte11").IntegerValue)
424                    end if
425                    if rs.Field("byte12").StringValue <> "" then
426                      byte12 = chrb(rs.Field("byte12").IntegerValue)
427                    end if
428                    if rs.Field("byte13").StringValue <> "" then
429                      byte13 = chrb(rs.Field("byte13").IntegerValue)
430                    end if
431                    if rs.Field("byte14").StringValue <> "" then
432                      byte14 = chrb(rs.Field("byte14").IntegerValue)
433                    end if
434                    if rs.Field("byte15").StringValue <> "" then
435                      byte15 = chrb(rs.Field("byte15").IntegerValue)
436                    end if
437                    if rs.Field("byte16").StringValue <> "" then
438                      byte16 = chrb(rs.Field("byte16").IntegerValue)
439                    end if
440                    if rs.Field("byte17").StringValue <> "" then
441                      byte17 = chrb(rs.Field("byte17").IntegerValue)
442                    end if
443                    if rs.Field("byte18").StringValue <> "" then
444                      byte18 = chrb(rs.Field("byte18").IntegerValue)
445                    end if
446                   
447                    valuesChanged()
448                  end if
449                End Sub
450        #tag EndMethod
451
452
453        #tag Hook, Flags = &h0
454                Event valuesChanged()
455        #tag EndHook
456
457
458        #tag Note, Name = General
459                Car type must be set for this to operate
460                Car types supported by this application are
461                MR-03
462                dNaNo
463                ASF
464        #tag EndNote
465
466
467        #tag Property, Flags = &h0
468                byte01 As String
469        #tag EndProperty
470
471        #tag Property, Flags = &h0
472                byte11 As String
473        #tag EndProperty
474
475        #tag Property, Flags = &h0
476                byte12 As String
477        #tag EndProperty
478
479        #tag Property, Flags = &h0
480                byte13 As String
481        #tag EndProperty
482
483        #tag Property, Flags = &h0
484                byte14 As String
485        #tag EndProperty
486
487        #tag Property, Flags = &h0
488                byte15 As String
489        #tag EndProperty
490
491        #tag Property, Flags = &h0
492                byte16 As String
493        #tag EndProperty
494
495        #tag Property, Flags = &h0
496                byte17 As String
497        #tag EndProperty
498
499        #tag Property, Flags = &h0
500                byte18 As String
501        #tag EndProperty
502
503        #tag Property, Flags = &h0
504                byte02 As String
505        #tag EndProperty
506
507        #tag Property, Flags = &h0
508                byte03 As String
509        #tag EndProperty
510
511        #tag Property, Flags = &h0
512                byte04 As String
513        #tag EndProperty
514
515        #tag Property, Flags = &h0
516                byte05 As String
517        #tag EndProperty
518
519        #tag Property, Flags = &h0
520                byte06 As String
521        #tag EndProperty
522
523        #tag Property, Flags = &h0
524                byte07 As String
525        #tag EndProperty
526
527        #tag Property, Flags = &h0
528                byte08 As String
529        #tag EndProperty
530
531        #tag Property, Flags = &h0
532                byte09 As String
533        #tag EndProperty
534
535        #tag Property, Flags = &h0
536                byte10 As String
537        #tag EndProperty
538
539        #tag Property, Flags = &h0
540                carType As String = "MR-03"
541        #tag EndProperty
542
543        #tag Property, Flags = &h0
544                fsicsdb As REALSQLDatabase
545        #tag EndProperty
546
547        #tag Property, Flags = &h0
548                mode As String = "read"
549        #tag EndProperty
550
551
552        #tag ViewBehavior
553                #tag ViewProperty
554                        Name="Name"
555                        Visible=true
556                        Group="ID"
557                        InheritedFrom="serial"
558                #tag EndViewProperty
559                #tag ViewProperty
560                        Name="Index"
561                        Visible=true
562                        Group="ID"
563                        Type="Integer"
564                        InheritedFrom="serial"
565                #tag EndViewProperty
566                #tag ViewProperty
567                        Name="Super"
568                        Visible=true
569                        Group="ID"
570                        InheritedFrom="serial"
571                #tag EndViewProperty
572                #tag ViewProperty
573                        Name="Left"
574                        Visible=true
575                        Group="Position"
576                        InheritedFrom="serial"
577                #tag EndViewProperty
578                #tag ViewProperty
579                        Name="Top"
580                        Visible=true
581                        Group="Position"
582                        InheritedFrom="serial"
583                #tag EndViewProperty
584                #tag ViewProperty
585                        Name="Baud"
586                        Visible=true
587                        Group="Behavior"
588                        InitialValue="13"
589                        Type="Integer"
590                        EditorType="Enum"
591                        InheritedFrom="serial"
592                        #tag EnumValues
593                                "0 - 300"
594                                "1 - 600"
595                                "2 - 1200"
596                                "3 - 1800"
597                                "4 - 2400"
598                                "5 - 3600"
599                                "6 - 4800"
600                                "7 - 7200"
601                                "8 - 9600"
602                                "9 - 14400"
603                                "10 - 19200"
604                                "11 - 28800"
605                                "12 - 38400"
606                                "13 - 57600"
607                                "14 - 115200"
608                                "15 - 230400"
609                        #tag EndEnumValues
610                #tag EndViewProperty
611                #tag ViewProperty
612                        Name="Bits"
613                        Visible=true
614                        Group="Behavior"
615                        InitialValue="3"
616                        Type="Integer"
617                        EditorType="Enum"
618                        InheritedFrom="serial"
619                        #tag EnumValues
620                                "0 - 5 Data Bits"
621                                "1 - 6 Data Bits"
622                                "2 - 7 Data Bits"
623                                "3 - 8 Data bits"
624                        #tag EndEnumValues
625                #tag EndViewProperty
626                #tag ViewProperty
627                        Name="Parity"
628                        Visible=true
629                        Group="Behavior"
630                        InitialValue="0"
631                        Type="Integer"
632                        EditorType="Enum"
633                        InheritedFrom="serial"
634                        #tag EnumValues
635                                "0 - No Parity"
636                                "1 - Odd Parity"
637                                "2 - EvenParity"
638                        #tag EndEnumValues
639                #tag EndViewProperty
640                #tag ViewProperty
641                        Name="Stop"
642                        Visible=true
643                        Group="Behavior"
644                        InitialValue="0"
645                        Type="Integer"
646                        EditorType="Enum"
647                        InheritedFrom="serial"
648                        #tag EnumValues
649                                "0 - 1 Stop Bit"
650                                "1 - 1.5 Stop Bits"
651                                "2 - 2 Stop Bits"
652                        #tag EndEnumValues
653                #tag EndViewProperty
654                #tag ViewProperty
655                        Name="XON"
656                        Visible=true
657                        Group="Behavior"
658                        Type="Boolean"
659                        InheritedFrom="serial"
660                #tag EndViewProperty
661                #tag ViewProperty
662                        Name="CTS"
663                        Visible=true
664                        Group="Behavior"
665                        Type="Boolean"
666                        InheritedFrom="serial"
667                #tag EndViewProperty
668                #tag ViewProperty
669                        Name="DTR"
670                        Visible=true
671                        Group="Behavior"
672                        Type="Boolean"
673                        InheritedFrom="serial"
674                #tag EndViewProperty
675                #tag ViewProperty
676                        Name="byte01"
677                        Group="Behavior"
678                        InitialValue="&hFF"
679                        Type="String"
680                        EditorType="MultiLineEditor"
681                #tag EndViewProperty
682                #tag ViewProperty
683                        Name="byte11"
684                        Group="Behavior"
685                        Type="String"
686                        EditorType="MultiLineEditor"
687                #tag EndViewProperty
688                #tag ViewProperty
689                        Name="byte12"
690                        Group="Behavior"
691                        Type="String"
692                        EditorType="MultiLineEditor"
693                #tag EndViewProperty
694                #tag ViewProperty
695                        Name="byte13"
696                        Group="Behavior"
697                        Type="String"
698                        EditorType="MultiLineEditor"
699                #tag EndViewProperty
700                #tag ViewProperty
701                        Name="byte14"
702                        Group="Behavior"
703                        Type="String"
704                        EditorType="MultiLineEditor"
705                #tag EndViewProperty
706                #tag ViewProperty
707                        Name="byte15"
708                        Group="Behavior"
709                        Type="String"
710                        EditorType="MultiLineEditor"
711                #tag EndViewProperty
712                #tag ViewProperty
713                        Name="byte16"
714                        Group="Behavior"
715                        Type="String"
716                        EditorType="MultiLineEditor"
717                #tag EndViewProperty
718                #tag ViewProperty
719                        Name="byte17"
720                        Group="Behavior"
721                        Type="String"
722                        EditorType="MultiLineEditor"
723                #tag EndViewProperty
724                #tag ViewProperty
725                        Name="byte18"
726                        Group="Behavior"
727                        Type="String"
728                        EditorType="MultiLineEditor"
729                #tag EndViewProperty
730                #tag ViewProperty
731                        Name="byte02"
732                        Group="Behavior"
733                        Type="String"
734                        EditorType="MultiLineEditor"
735                #tag EndViewProperty
736                #tag ViewProperty
737                        Name="byte03"
738                        Group="Behavior"
739                        Type="String"
740                        EditorType="MultiLineEditor"
741                #tag EndViewProperty
742                #tag ViewProperty
743                        Name="byte04"
744                        Group="Behavior"
745                        Type="String"
746                        EditorType="MultiLineEditor"
747                #tag EndViewProperty
748                #tag ViewProperty
749                        Name="byte05"
750                        Group="Behavior"
751                        Type="String"
752                        EditorType="MultiLineEditor"
753                #tag EndViewProperty
754                #tag ViewProperty
755                        Name="byte06"
756                        Group="Behavior"
757                        Type="String"
758                        EditorType="MultiLineEditor"
759                #tag EndViewProperty
760                #tag ViewProperty
761                        Name="byte07"
762                        Group="Behavior"
763                        Type="String"
764                        EditorType="MultiLineEditor"
765                #tag EndViewProperty
766                #tag ViewProperty
767                        Name="byte08"
768                        Group="Behavior"
769                        Type="String"
770                        EditorType="MultiLineEditor"
771                #tag EndViewProperty
772                #tag ViewProperty
773                        Name="byte09"
774                        Group="Behavior"
775                        Type="String"
776                        EditorType="MultiLineEditor"
777                #tag EndViewProperty
778                #tag ViewProperty
779                        Name="byte10"
780                        Group="Behavior"
781                        Type="String"
782                        EditorType="MultiLineEditor"
783                #tag EndViewProperty
784                #tag ViewProperty
785                        Name="carType"
786                        Group="Behavior"
787                        InitialValue="MR-03"
788                        Type="String"
789                #tag EndViewProperty
790                #tag ViewProperty
791                        Name="mode"
792                        Group="Behavior"
793                        InitialValue="read"
794                        Type="String"
795                #tag EndViewProperty
796        #tag EndViewBehavior
797End Class
798#tag EndClass
Note: See TracBrowser for help on using the repository browser.