[CCC DEV] New community folder

Steve Pretty steve.g.pretty at btinternet.com
Mon Mar 7 21:59:31 GMT 2011


Matt has kindly let me add a community folder "prettys" into the Arduino 
/ community area of the KROC repository.

I have added the code and test cases for my "plc" experiment, which 
looks at possible additional functionality for "plumbing" based on the 
functional blocks that are found in Programmable Logic Controllers (or 
families of logic gates). I have also added my attempt a visual 
documentation for the plumbing API (interactive HTML "mindmap") and 
uploaded versions of three plumbing modules which I have made some 
changes to.

"plc" has the following functional blocks implemented:

*plcBasic.module*

·plc.NOTa logic inversion function

·plc.LD digital input. Pins 2 and 3 are interrupt driven, other pins are 
timed poll

·plc.LDNinverted digital input – to simulate normally closed switch contacts

·plc.OUTdigital output

·plc.IR2“internal relay” – multicasts a LEVEL message to two destinations

·plc.IR3as above – three destinations

·plc.IR4 as above – four destinations

·plc.BHa black hole function – receives and discards unwanted LEVEL messages

*plcLogic.module*

·plc.OR, plc.OR3, plc.OR42, 3 and 4 input logic OR gates

·plc.AND, plc.AND3, plc.AND42, 3 and 4 input logic AND gates

·plc.NOR, plc.NOR3, plc.NOR4 2, 3 and 4 input logic NOR gates

·plc.NAND, plc.NAND3, plc.NAND42, 3 and 4 input logic NAND gates

·plc.XOR2 input logic Exclusive OR gate

·plc.EQ2 input logic Equals gate

·plc.MUX2 input multiplexer

*plcLatches.module*

·plc.SRAsynchronous Set / Reset gate

·plc.FFAsynchronous Flip Flop (toggle) gate

·plc.DSynchronous D type flip flop

·plc.JKSynchronous JK flip flop

*plcTiming.module*

·plc.TPA single pulse timer (retriggerable monostable) – simple version

·plc.TPXExtended functionality version of plc.TP

·plc.TONTurn on timer – output goes high fixed period after input goes high

·plc.TOFTurn off timer – output stays high for fixed period after input 
goes low

·plc.CLKGateable clock generator.

*plcCounters.module*

·plc.CYCNTSimple cyclic count up counter

·plc.CTUExtended functionality count up counter

*plcSequencers.module*

·plc.SEQ4A 4 output logic sequencer / decoder

·plc.SEQ8An 8 output logic sequencer / decoder



Steve



More information about the developers mailing list