Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- getTriggerLimit :: TriggerLimit -> Behavior Bool
- addTriggerLimit :: TriggerLimit -> Behavior Bool -> Behavior Bool
- getUniqueId :: String -> GenSketch pinid UniqueId
- uniqueName :: String -> UniqueId -> String
- uniqueName' :: String -> UniqueId -> String
- emptyFramework :: Ord pinid => GenFramework pinid
- mkCChunk :: [CLine] -> [CChunk]
- defineTriggerAlias :: String -> GenFramework pinid -> GenSketch pinid (GenFramework pinid, String)
- defineTriggerAlias' :: String -> String -> GenFramework pinid -> GenSketch pinid (GenFramework pinid, String)
- data MkInputSource pinid t = InputSource {
- defineVar :: [CChunk]
- setupInput :: [CChunk]
- inputPinmode :: Map pinid PinMode
- readInput :: [CChunk]
- inputStream :: Stream t
- mkInput :: MkInputSource pinid t -> GenSketch pinid (Behavior t)
- evalSketch :: Ord pinid => GenSketch pinid a -> (Maybe Spec, GenFramework pinid)
- sketchSpec :: Ord pinid => GenSketch pinid a -> Spec
Documentation
addTriggerLimit :: TriggerLimit -> Behavior Bool -> Behavior Bool Source #
emptyFramework :: Ord pinid => GenFramework pinid Source #
Use to create an empty framework.
It helps to specify the type of pinid to use:
(emptyFramework @PinId) { ... }
defineTriggerAlias :: String -> GenFramework pinid -> GenSketch pinid (GenFramework pinid, String) Source #
Copilot only supports calling a trigger with a given name once per Spec; the generated C code will fail to build if the same name is used in two triggers. This generates a unique alias that can be used in a trigger.
defineTriggerAlias' :: String -> String -> GenFramework pinid -> GenSketch pinid (GenFramework pinid, String) Source #
data MkInputSource pinid t Source #
InputSource | |
|
evalSketch :: Ord pinid => GenSketch pinid a -> (Maybe Spec, GenFramework pinid) Source #