atom-0.1.2: A DSL for embedded hard realtime applications.



Atom C code generation.



data Config Source

C code configuration parameters.




cFuncName :: String

Alternative primary function name. Leave empty to use compile name.

cType :: Type -> String

C type naming rules.

cCode :: [Name] -> [Name] -> [(Name, Type)] -> (String, String)

Custom C code to insert above and below, given assertion names, coverage names, and probe names and types.

cRuleCoverage :: Bool

Enable rule coverage tracking.

cAssert :: Bool

Enable assertion checking.

cAssertName :: String

Name of assertion function. Type: void assert(int, cType Bool, cType Word64);

cCover :: Bool

Enable functional coverage accumulation.

cCoverName :: String

Name of coverage function. Type: void cover(int, cType Bool, cType Word64);

writeC :: Name -> Config -> Schedule -> [UV] -> [UA] -> [Name] -> [Name] -> [(Name, Type)] -> IO RuleCoverageSource

defaults :: ConfigSource

Default C code configuration parameters (default function name, no pre/post code, ANSI C types).

cTypes :: Type -> StringSource

ANSI C type naming rules.

c99Types :: Type -> StringSource

C99 type naming rules.