Skip to content

Commit

Permalink
Merge pull request #137 from burnsauce/master
Browse files Browse the repository at this point in the history
2.2 Documentation
  • Loading branch information
tehn authored Jan 24, 2018
2 parents 35ddaf3 + ed0306a commit 0d2e733
Show file tree
Hide file tree
Showing 6 changed files with 161 additions and 2 deletions.
1 change: 0 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
- **FIX**: entered values now saturate at int16 limits
- **FIX**: reduced flash memory consumption by not storing TEMP script
- **FIX**: `I` now carries across `DEL` commands
- **FIX**: removed TEMP script allocation in flash
- **FIX** : corrected functionality of JI op for 1volt/octave tuning

## v2.1
Expand Down
2 changes: 1 addition & 1 deletion docs/keys.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ These bindings work everywhere.
| `<esc>` | preset read mode, or return to last mode |
| `alt-<esc>` | preset write mode |
| `win-<esc>` | clear delays, stack and slews |
| `<alt>-?` | help text, or return to last mode |
| `shift-<alt>-?` | help text, or return to last mode |
| `<F1>` to `<F8>` | run corresponding script |
| `<F9>` | run metro script |
| `<F10>` | run init script |
Expand Down
56 changes: 56 additions & 0 deletions docs/ops/controlflow.toml
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,59 @@ short = "clears stack, clears delays, cancels pulses, cancels slews, disables me
prototype = "BREAK"
aliases = ["BRK"]
short = "halts execution of the current script"

[INIT]
prototype = "INIT"
short = "clears all state data"
description = """
**WARNING**: You will lose all settings when you initialize using `INIT` - there is NO undo!
"""

["INIT.CV"]
prototype = "INIT.CV x"
short = "clears all parameters on CV associated with output x"

["INIT.CV.ALL"]
prototype = "INIT.CV.ALL"
short = "clears all parameters on all CV's"

["INIT.DATA"]
prototype = "INIT.DATA"
short = "clears all data held in all variables"
description = """
Clears the following variables and resets them to default values: A, B, C, D, CV slew, Drunk min/max, M, O, Q, R, T, TR, CV input, and the Paramter knob
"""

["INIT.P"]
prototype = "INIT.P x"
short = "clears pattern associated with pattern number x"

["INIT.P.ALL"]
prototype = "INIT.P.ALL"
short = "clears all patterns"

["INIT.SCENE"]
prototype = "INIT.SCENE"
short = "loads a blank scene"

["INIT.SCRIPT"]
prototype = "INIT.SCRIPT x"
short = "clear script number x"

["INIT.SCRIPT.ALL"]
prototype = "INIT.SCRIPT.ALL"
short = "clear all scripts"

["INIT.TIME"]
prototype = "INIT.TIME x"
short = "clear time on trigger x"

["INIT.TR"]
prototype = "INIT.TR x"
short = "clear all parameters on trigger associated with TR x"

["INIT.TR.ALL"]
prototype = "INIT.TR.ALL"
short = "clear all triggers"
37 changes: 37 additions & 0 deletions docs/ops/hardware.toml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,43 @@ Get the value of the PARAM knob. This returns a valuue in the range 0-16383.
prototype = "PARAM.SCALE min max"
short = "Set static scaling of the PARAM knob to between `min` and `max`."

["IN.CAL.MIN"]
prototype = "IN.CAL.MIN"
short = "Reads the input CV and assigns the voltage to the zero point"
description = """
1. Connect a patch cable from a calibrated voltage source
2. Set the voltage source to 0 volts
3. Execute IN.CAL.MIN from the live terminal
4. Call IN and confirm the 0 result
"""

["IN.CAL.MAX"]
prototype = "IN.CAL.MAX"
short = "Reads the input CV and assigns the voltage to the max point"
description = """
5. Set the voltage source to target maximum voltage (10V)
6. Execute IN.CAL.MAX from the live terminal
7. Call IN and confirm that the result is 16383
"""

["PARAM.CAL.MIN"]
prototype = "PARAM.CAL.MIN"
short = "Reads the Parameter Knob minimum position and assigns a zero value"
description = """
1. Turn the PARAM knob all the way to the left
2. Execute PARAM.CAL.MIN from the live terminal
3. Call PARAM and confirm the 0 result
"""

["PARAM.CAL.MAX"]
prototype = "PARAM.CAL.MAX"
short = "Reads the Paramter Knob maximum position and assigns the maximum point"
description = """
4. Turn the knob all the way to the right
5. Execute PARAM.CAL.MAX from the live terminal
6. Call PARAM and verify that the result is 16383
"""

["TR"]
prototype = "TR x"
prototype_set = "TR x y"
Expand Down
14 changes: 14 additions & 0 deletions docs/ops/maths.toml
Original file line number Diff line number Diff line change
Expand Up @@ -231,3 +231,17 @@ short = "get or set the `R` parameter for the `CHAOS` generator"
["CHAOS.ALG"]
prototype = "CHAOS.ALG x"
short = "get or set the algorithm for the `CHAOS` generator. 0 = LOGISTIC, 1 = CUBIC, 2 = HENON, 3 = CELLULAR"

[R]
prototype = "R"
short = "generate a random number"

["R.MIN"]
prototype = "R.MIN x"
short = "set the lower end of the range from 0 – 32767"

["R.MAX"]
prototype = "R.MAX x"
short = "set the upper end of the range from 0 – 32767"


53 changes: 53 additions & 0 deletions docs/whats_new.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,58 @@
# What's new?

## Version 2.2

Teletype version 2.2 introduces Chaos and Bitwise operators, Live mode view of variables, INIT operator, ability to calibrate CV In and Param knob and set Min/Max scale values for both, a screensaver, Random Number Generator, and a number of fixes and improvements.

### Major new features

#### Chaos Operators

The `CHAOS` operator provides a new source of uncertainty to the Teletype via chaotic yet deterministic systems. This operator relies on various chaotic maps for the creation of randomized musical events. Chaotic maps are conducive to creating music because fractals contain a symmetry of repetition that diverges just enough to create beautiful visual structures that at times also apply to audio. In mathematics a map is considered an evolution function that uses polynomials to drive iterative procedures. The output from these functions can be assigned to control voltages. This works because chaotic maps tend to repeat with slight variations offering useful oscillations between uncertainty and predictability.

#### Bitwise Operators

Bitwise operators have been added to compliment the logic functions and offer the ability to maximize the use of variables available on the Teletype.

Typically, when a variable is assigned a value it fully occupies that variable space; should you want to set another you’ll have to use the next available variable. In conditions where a state of on, off, or a bitwise mathematical operation can provide the data required, the inclusion of these operators give users far more choices. Each variable normally contains 16 bits and Bitwise allows you to `BSET`, `BGET`, and `BCLR` a value from a particular bit location among its 16 positions, thus supplying 16 potential flags in the same variable space.

#### INIT

The new op family `INIT` features operator syntax for clearing various states from the unforgiving INIT with no parameters that clears ALL state data (be careful as there is no undo) to the ability to clear CV, variable data, patterns, scenes, scripts, time, ranges, and triggers.

#### Live Mode Variable Display

This helps the user to quickly check and monitor variables across the Teletype. Instead of single command line parameter checks the user is now able to simply press the `~ key` (Tilde) and have a persistent display of eight system variables.

#### Screensaver

Screen saver engages after 90 minutes of inactivity

#### New Operators

`IN.SCALE min max` sets the min/max values of the CV Input jack
`PARAM.SCALE min max` set the min/max scale of the Parameter Knob
`IN.CAL.MIN` sets the zero point when calibrating the CV Input jack
`IN.CAL.MAX` sets the max point (16383) when calibrating the CV Input jack
`PARAM.CAL.MIN` sets the zero point when calibrating the Parameter Kob
`PARAM.CAL.MAX` sets the max point (16383) when calibrating the Parameter Kob
`R` generate a random number
`R.MIN` set the low end of the random number generator
`R.MAX` set the upper end of the random number generator

#### Fixes

• Multiply now saturates at limits (-32768 / 32767) while previous behavior returned 0 at overflow
• Entered values now saturate at Int16 limits which are -32768 / 32767
• Reduced flash memory consumption by not storing TEMP script
• I now carries across `DEL` commands
• Corrected functionality of `JI` (Just Intonation) op for 1V/Oct tuning

#### Improvements

• Profiling code (optional developer feature)
• Screen now redraws only lines that have changed

## Version 2.1

Teletype version 2.1 introduces new operators that mature the syntax and capability of the Teletype, as well as several bug fixes and enhancement features.
Expand Down

0 comments on commit 0d2e733

Please sign in to comment.