Shop OBEX P1 Docs P2 Docs Learn Events
Programming help. — Parallax Forums

Programming help.

Jeff2Jeff2 Posts: 46
edited 2010-04-14 02:19 in Propeller 1
I have two input's, (22 and 23) I want one as, One Retriggerable One Shot, the other one as A on off switch. How do I go about adding the Retriggerable One Shot,
to the Program, so I can adjust the Time.








con

·_clkmode·=·xtal1·+·pll16x
·_xinfreq·=·0_500_000

pub·Kid
'dira[noparse][[/noparse]0..19]~~

repeat

····if·ina·[noparse][[/noparse]22]·((((the·input·one·pin22,·need's·to·be··Retriggerabel·One·Shot,·how·does·the·progarm·have·to·look?))))))
······right
····if·ina·[noparse][[/noparse]23]
·········left



pub·right
········dira[noparse][[/noparse]0..19]·:=·%11111111111111111111
········outa[noparse][[/noparse]0..19]·:=·%00000000000000000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000000000000000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000000010000000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000000110000000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000001110000000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000011110000000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000111110000000000········waitcnt(clkfreq/4·+·cnt)



········outa[noparse][[/noparse]0..19]·:=·%00001111110000000000
········waitcnt(clkfreq/4·+·cnt)
pub·left
········dira[noparse][[/noparse]0..19]·:=·%11111111111111111111
········outa[noparse][[/noparse]0..19]·:=·%00000000000000000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000000001000000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000000001100000000
·········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000000001110000000
········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000000001111000000
·········waitcnt(clkfreq/4·+·cnt)
········outa[noparse][[/noparse]0..19]·:=·%00000000001111100000


[noparse][[/noparse]code][noparse][[/noparse]code]

Comments

  • ElectricAyeElectricAye Posts: 4,561
    edited 2010-04-13 05:27
    Jeff,

    to post samples of your code, paste your code between these two tags, except remove ALL the blank spaces I've inserted inside the brackets:

    [noparse][[/noparse] code ]

    [noparse][[/noparse] / code ]



    
    That way your code
      will look like this
        and all of its indentation
          will be preserved
    
    
    



    You might want to elaborate on exactly what you're trying to do with the various pins, etc. Frankly, I can't understand what you're trying to achieve.


    smile.gif
  • MagIO2MagIO2 Posts: 2,243
    edited 2010-04-13 05:29
    If I understand you right:

    Define a variable old_in and do



    if ina[noparse][[/noparse] 22 ] & !old_in
      right
     
    if ina[noparse][[/noparse] 23 ]
      left
     
    old_in := ina[noparse][[/noparse] 22 ]
    
  • Jeff2Jeff2 Posts: 46
    edited 2010-04-13 21:54
    I have two input's, (22 and 23) I want one as, Retriggerable One Shot, the other one as A on off switch. How do I go about adding the Retriggerable One Shot. The input on pin22 is toggling. All I am looking for the program to do is, When input pin22
    is toggling, the led1 stays on and run's for the toggling time...








    
    
    
    
    
    
    con 
    
     _clkmode = xtal1 + pll16x
     _xinfreq = 0_500_000
     
    pub Kid
    
    'dira[noparse][[/noparse]0..19]~~
    
    repeat
    
        if ina [noparse][[/noparse]22] ((((the input one pin22, need's to be  Retriggerabel One Shot, how does the progarm have to look?))))))
          led1
        if ina [noparse][[/noparse]23]
           led2
      
      
              
    pub led1
            dira[noparse][[/noparse]0..19] := %11111111111111111111
            outa[noparse][[/noparse]0..19] := %00000000000000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000000000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000010000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000110000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000001110000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000011110000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000111110000000000       
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00001111110000000000
            waitcnt(clkfreq/4 + cnt)
    
    
    pub led2
            dira[noparse][[/noparse]0..19] := %11111111111111111111
            outa[noparse][[/noparse]0..19] := %00000000000000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001100000000
             waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001110000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001111000000
             waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001111100000
    
    
    
    
    

    ><table border=Image Attachment :
    512 x 384 - 9K
  • Jeff2Jeff2 Posts: 46
    edited 2010-04-14 01:16
    This is working but I need more time on the Retriggerable one shot. how do I add more time.







    
    
    con 
    
     _clkmode = xtal1 + pll16x
     _xinfreq = 0_500_000
     
    var long old_in  
    pub Kid
    'dira[noparse][[/noparse]0..19]~~
    
    repeat
    
        if ina [noparse][[/noparse]22] & !old_in '((((the input one pin22, Was to be Retriggerable One Shot, how does the progarm have to program?))))))
          right
        if ina [noparse][[/noparse]23]
             left
      
    old_in := ina[noparse][[/noparse]22]  
              
    pub right
            dira[noparse][[/noparse]0..19] := %11111111111111111111
            outa[noparse][[/noparse]0..19] := %00000000000000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000000000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000010000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000110000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000001110000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000011110000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000111110000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00001111110000000000
            waitcnt(clkfreq/4 + cnt)
             outa[noparse][[/noparse]0..19] := %00000000000000000000  
    
    pub left
            dira[noparse][[/noparse]0..19] := %11111111111111111111
            outa[noparse][[/noparse]0..19] := %00000000000000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001000000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001100000000
             waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001110000000
            waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001111000000
             waitcnt(clkfreq/4 + cnt)
            outa[noparse][[/noparse]0..19] := %00000000001111100000
            waitcnt(clkfreq/4 + cnt) 
             outa[noparse][[/noparse]0..19] := %00000000000000000000  
    
    
    
    
    
  • ElectricAyeElectricAye Posts: 4,561
    edited 2010-04-14 02:19
    Download the Propeller Education Kit Lab Manual for free, see the link for "Full Text":
    http://forums.parallax.com/showthread.php?p=617192

    Inside the manual there is a section on Input/Output basics and Timing. I think it will teach you everything you need to know about making your pins do whatever you want.

    Hope that helps.
Sign In or Register to comment.