Safe Haskell | None |
---|---|
Language | Haskell2010 |
GCode types
This module exports types for constructing Code
values
Synopsis
- data Class
- = G
- | M
- | T
- | PStandalone
- | FStandalone
- | SStandalone
- data AxisDesignator
- data ParamDesignator
- allClasses :: [Class]
- allAxisDesignators :: [AxisDesignator]
- zeroAxes :: Axes
- allParamDesignators :: [ParamDesignator]
- asChars :: Show a => [a] -> [Char]
- type Axes = Map AxisDesignator Double
- type Params = Map ParamDesignator Double
- type Limits = Map AxisDesignator (Double, Double)
- type ParamLimits = Map ParamDesignator (Double, Double)
- data Code
- = Code {
- codeCls :: Maybe Class
- codeNum :: Maybe Int
- codeSub :: Maybe Int
- codeAxes :: Axes
- codeParams :: Params
- codeComment :: ByteString
- | Comment ByteString
- | Empty
- | Other ByteString
- = Code {
- type GCode = [Code]
- toCodeClass :: Char -> Maybe Class
- toAxis :: Char -> Maybe AxisDesignator
- toParam :: Char -> Maybe ParamDesignator
- (&) :: a -> (a -> c) -> c
- cls :: Class -> Code -> Code
- axis :: AxisDesignator -> Double -> Code -> Code
- param :: ParamDesignator -> Double -> Code -> Code
- num :: Int -> Code -> Code
- sub :: Int -> Code -> Code
- axes :: Axes -> Code -> Code
- params :: Params -> Code -> Code
- comment :: ByteString -> Code -> Code
- emptyCode :: Code
- defaultPrec :: Int
- data Style = Style {}
- defaultStyle :: Style
Documentation
Code class
G | G-code |
M | M-code |
T | T-code (select tool) |
PStandalone | Stand-alone P-code |
FStandalone | Stand-alone F-code |
SStandalone | Stand-alone S-code |
data AxisDesignator Source #
Axis letter
Instances
data ParamDesignator Source #
Param letter
S | S parameter - usually spindle RPM |
P | P parameter |
F | F parameter - usually feedrate |
H | H paramater - used by tool length offset |
R | R parameter |
I | X offset for arcs |
J | Y offset for arcs |
K | Z offset for arcs |
Instances
allClasses :: [Class] Source #
type Axes = Map AxisDesignator Double Source #
Map of AxisDesignator
to Double
type Params = Map ParamDesignator Double Source #
Map of ParamDesignator
to Double
type Limits = Map AxisDesignator (Double, Double) Source #
Map of AxisDesignator
to pair of Double
s indicating lower and upper limits of travel
type ParamLimits = Map ParamDesignator (Double, Double) Source #
Map of ParamDesignator
to pair of Double
s indicating lower and upper limits of this parameter
Code | |
Comment ByteString | Standalone comment |
Empty | Empty lines |
Other ByteString | Parser unhandled lines |
toAxis :: Char -> Maybe AxisDesignator Source #
Convert Char
representation of an axis to its AxisDesignator
toParam :: Char -> Maybe ParamDesignator Source #
Convert Char
representation of a param to its ParamDesignator
defaultPrec :: Int Source #
Style | |
|
defaultStyle :: Style Source #