home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rxcp290.zip / saverest.cmd < prev    next >
OS/2 REXX Batch file  |  1996-02-27  |  4KB  |  172 lines

  1. /* Rexx Program to Test RXCP290 Routines */
  2.  
  3. /* Load RxCP290 Routines                 */
  4.  
  5. call RxFuncAdd 'RxLoadFuncsCP290', 'RxCP290', 'RxLoadFuncsCP290'
  6. call RxLoadFuncsCP290
  7. say 'RxLoadFuncsCP290, CP290rc:   'CP290rc
  8.  
  9. /* Initialize Com Port Handle Variable  */
  10. CP290 = '' 
  11.  
  12. /* Initialize Com Port                  */
  13.  
  14. rc = RxInitCP290('COM2', 'CP290')
  15. say 'RxInitCP290:   'rc', CP290rc:   'CP290rc
  16.  
  17.  
  18. /* Get All Events from CP290 */
  19.  
  20. rc = RxGetEventsCP290(CP290, 'events')
  21. say 'RxGetEventsCP290:  'rc
  22.  
  23. /* Print Out events information */
  24.  
  25. say
  26.  
  27. do i=0 to 127
  28.   if events.i.0 = 1 then
  29.      Do 
  30.        say 'events.'i'.0  :  'events.i.0
  31.        say 'events.'i'.1  :  'events.i.1
  32.        say 'events.'i'.2.0:  'events.i.2.0
  33.        Do j = 1 to events.i.2.0
  34.       say 'events.'i'.2.'j':  'events.i.2.j
  35.        end
  36.        say 'events.'i'.3  :  'events.i.3
  37.        say 'events.'i'.4  :  'events.i.4
  38.        say 'events.'i'.5.0:  'events.i.5.0
  39.        Do j = 1 to events.i.5.0
  40.       say 'events.'i'.5.'j':  'events.i.5.j
  41.        end
  42.        say 'events.'i'.6  :  'events.i.6
  43.        say 'events.'i'.7  :  'events.i.7
  44.        say 'events.'i'.8  :  'events.i.8
  45.      end
  46. end
  47.  
  48. /* Save the events information        */
  49.  
  50. file = "testfile.sav"
  51. call SaveEvents file 
  52.  
  53.  
  54. /* Erase the internal events structure */
  55. events. = 0
  56.  
  57. /* Retrieve the Events from a file     */
  58.  
  59. call RtrvEvents file 
  60.  
  61. /* Print out Events retrieved   */
  62.  
  63. say
  64. do i=0 to 127
  65.   if events.i.0 = 1 then
  66.      Do 
  67.        say 'events.'i'.0  :  'events.i.0
  68.        say 'events.'i'.1  :  'events.i.1
  69.        say 'events.'i'.2.0:  'events.i.2.0
  70.        Do j = 1 to events.i.2.0
  71.       say 'events.'i'.2.'j':  'events.i.2.j
  72.        end
  73.        say 'events.'i'.3  :  'events.i.3
  74.        say 'events.'i'.4  :  'events.i.4
  75.        say 'events.'i'.5.0:  'events.i.5.0
  76.        Do j = 1 to events.i.5.0
  77.       say 'events.'i'.5.'j':  'events.i.5.j
  78.        end
  79.        say 'events.'i'.6  :  'events.i.6
  80.        say 'events.'i'.7  :  'events.i.7
  81.        say 'events.'i'.8  :  'events.i.8
  82.      end
  83. end
  84.  
  85. /* Erase CP290 Timer Events              */
  86.  
  87. rc = RxSetHCodeCP290(CP290, "D")
  88.  
  89. /* Reload CP290 Events from events.      */
  90.  
  91. do i = 0 to 127
  92.    if events.i.0 = 1 then
  93.     do
  94.       /* Create name of events entry - events.1, events.2, etc. */
  95.       evt = 'events.'||i         
  96.       rc = RxDwnLdEvtCP290(CP290, i, evt)
  97.       say 'RxDwnLdEvtCP290: rc = 'rc ' Event number: 'i
  98.     end
  99. end
  100.  
  101. /* Close Communications                  */
  102.  
  103. rc = RxCloseCP290(CP290)
  104. say 'RxCloseCP290:  'rc', CP290rc:   'CP290rc
  105.  
  106. /* Drop RXCP290 Functions */
  107.  
  108. call RxDropFuncsCP290 
  109. say 'RxDropFuncsCP290, CP290rc:  'CP290rc
  110.  
  111. exit
  112.  
  113. SaveEvents: Procedure Expose events. 
  114.    arg filenm 
  115.  
  116. call lineout filenm, ,1
  117. do i=0 to 127
  118.    call lineout filenm,  events.i.0
  119.    if events.i.0 = 1 then
  120.       Do
  121.        call lineout filenm,  events.i.1 
  122.        call lineout filenm,  events.i.2.0
  123.        Do j = 1 to events.i.2.0
  124.       call lineout filenm,  events.i.2.j
  125.        end
  126.        call lineout filenm,  events.i.3
  127.        call lineout filenm,  events.i.4
  128.        call lineout filenm,  events.i.5.0
  129.        Do j = 1 to events.i.5.0
  130.       call lineout filenm,  events.i.5.j
  131.        end
  132.        call lineout filenm,  events.i.6
  133.        call lineout filenm,  events.i.7
  134.        call lineout filenm,  events.i.8
  135.      end
  136. end
  137. call lineout(filenm)
  138. return   
  139.  
  140. RtrvEvents: Procedure Expose events.
  141.    arg filenm 
  142.  
  143. call linein filenm, ,0
  144. do i=0 to 127
  145.    events.i.0 = linein(filenm)
  146.    if events.i.0 = 1 then
  147.       Do
  148.        events.i.1 = linein(filenm)
  149.        events.i.2.0 = linein(filenm)
  150.        Do j = 1 to events.i.2.0
  151.           events.i.2.j = linein(filenm)
  152.        end
  153.        events.i.3 = linein(filenm)
  154.        events.i.4 = linein(filenm)
  155.        events.i.5.0 = linein(filenm)
  156.        Do j = 1 to events.i.5.0
  157.           events.i.5.j = linein(filenm)
  158.        end
  159.        events.i.6 = linein(filenm)
  160.        events.i.7 = linein(filenm) 
  161.        events.i.8 = linein(filenm)
  162.      end
  163. end
  164. return   
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.