Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #69926

Re: "Latching" variables in function

From Terry Reedy <tjreedy@udel.edu>
Subject Re: "Latching" variables in function
Date 2014-04-09 00:35 -0400
References <7ffe44a68f47a64f5120d3a6c6a660b5@myglnc.com>
Newsgroups comp.lang.python
Message-ID <mailman.9055.1397018129.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 4/8/2014 4:09 PM, Grawburg wrote:
>
> I've probably used the wrong term - I'm thinking of what I do when writing PLC code - so I can't find how to do this in my reference books.
> This is part of a project I'm working on with a Raspberry Pi and an MCP23017 port expander.
> I have a N/O pushbutton that I want to "latch" a value to a variable when it's been pressed.  I have this function that gets called periodically in
> a 'while True' statement:
>
> def button():
>     pushbutton = 0
>    button_value = 0
>     pushbutton=bus.read_byte_data(address,GPIOB)
>     if pushbutton > 0:
>          button_value = 1
>     return button_value
>
> I need button_value to become '1' when the button is pressed and to remain '1' until the entire program (only about 25 lines) ends with a sys.exit()
>
> What do I use to 'latch' button_value?

It depends on whether you can set up your system so that pushing the 
button generates an interrupt. But I know little about R.Pi and less 
about the 'port expander'. If there were an interrupt, you would just 
have to write an interrupt handler. When possible, this is much better 
than polling.

-- 
Terry Jan Reedy

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: "Latching" variables in function Terry Reedy <tjreedy@udel.edu> - 2014-04-09 00:35 -0400

csiph-web