Version 1v73
variable HIGH
No parameters
Logic 1 for Arduino compatibility - this is the same as just typing 1
variable Infinity
No parameters
Positive Infinity (1/0)
variable LOW
No parameters
Logic 0 for Arduino compatibility - this is the same as just typing 0
variable NaN
No parameters
Not a Number
function analogRead(pin)
Get the analog value of the given pin
This is different to Arduino which only returns an integer between 0 and 1023
However only pins connected to an ADC will work (see the datasheet)
pin The pin to use
You can find out which pins to use by looking at your board's reference page and searching for pins with the ADC
markers.
The analog Value of the Pin between 0 and 1
This function is used in the following places in Espruino's documentation
function analogWrite(pin, value, options)
Set the analog Value of a pin. It will be output using PWM
pin The pin to use
You can find out which pins to use by looking at your board's reference page and searching for pins with the PWM
or DAC
markers.
value A value between 0 and 1
options An object containing options.
Currently only freq (pulse frequency in Hz) is available:
analogWrite(A0,0.5,{ freq : 10 });
Note that specifying a frequency will force PWM output, even if the pin has a DAC
No return value (undefined)
This function is used in the following places in Espruino's documentation
variable arguments
A variable containing the arguments given to the function
No parameters
An array containing all the arguments given to the function
function atob(binaryData)
Convert the supplied base64 string into a base64 string
Note: This is only available in some devices: not devices with low flash memory
binaryData A string of base64 data to decode
A string containing the decoded data
This function is used in the following places in Espruino's documentation
function btoa(binaryData)
Convert the supplied string (or array) into a base64 string
Note: This is only available in some devices: not devices with low flash memory
binaryData A string of data to encode
A base64 encoded string
function changeInterval(id, time)
Change the Interval on a callback created with setInterval, for example:
var id = setInterval(function () { print('foo'); }, 1000); // every second
changeInterval(id, 1500); // now runs every 1.5 seconds
This takes effect the next time the callback is called (so it is not immediate).
id The id returned by a previous call to setInterval
time The new time period in ms
No return value (undefined)
This function is used in the following places in Espruino's documentation
function clearInterval(id)
Clear the Interval that was created with setInterval, for example:
var id = setInterval(function () { print('foo'); }, 1000);
clearInterval(id);
If no argument is supplied, all timers and intervals are stopped
id The id returned by a previous call to setInterval
No return value (undefined)
This function is used in the following places in Espruino's documentation
function clearTimeout(id)
Clear the Timeout that was created with setTimeout, for example:
var id = setTimeout(function () { print('foo'); }, 1000);
clearTimeout(id);
If no argument is supplied, all timers and intervals are stopped
id The id returned by a previous call to setTimeout
No return value (undefined)
This function is used in the following places in Espruino's documentation
function clearWatch(id)
Clear the Watch that was created with setWatch. If no parameter is supplied, all watches will be removed.
id The id returned by a previous call to setWatch
No return value (undefined)
This function is used in the following places in Espruino's documentation
function digitalPulse(pin, value, time)
Pulse the pin with the value for the given time in milliseconds. It uses a hardware timer to produce accurate pulses, and returns immediately (before the pulse has finished). Use digitalPulse(A0,1,0)
to wait until a previous pulse has finished.
eg. digitalPulse(A0,1,5);
pulses A0 high for 5ms. digitalPulse(A0,1,[5,2,4]);
pulses A0 high for 5ms, low for 2ms, and high for 4ms
digitalPulse is for SHORT pulses that need to be very accurate. If you're doing anything over a few milliseconds, use setTimeout instead.
pin The pin to use
value Whether to pulse high (true) or low (false)
time A time in milliseconds, or an array of times (in which case a square wave will be output starting with a pulse of 'value')
No return value (undefined)
This function is used in the following places in Espruino's documentation
function digitalRead(pin)
Get the digital value of the given pin
If the pin argument is an array of pins (eg. [A2,A1,A0]
) the value returned will be an number where the last array element is the least significant bit, for example if A0=A1=1
and A2=0
, digitalRead([A2,A1,A0]) == 0b011
pin The pin to use
The digital Value of the Pin
This function is used in the following places in Espruino's documentation
function digitalWrite(pin, value)
Set the digital value of the given pin
If pin argument is an array of pins (eg. [A2,A1,A0]
) the value argument will be treated as an array of bits where the last array element is the least significant bit.
In this case, pin values are set last significant bit first (from the right-hand side of the array of pins). This means you can use the same pin multiple times, for example digitalWrite([A1,A1,A0,A0],0b0101)
would pulse A0 followed by A1.
pin The pin to use
value Whether to pulse high (true) or low (false)
No return value (undefined)
This function is used in the following places in Espruino's documentation
function dump()
Output current interpreter state in a text form such that it can be copied to a new device
Note: 'Internal' functions are currently not handled correctly. You will need to recreate these in the onInit function.
No parameters
No return value (undefined)
function echo(echoOn)
Should TinyJS echo what you type back to you? true = yes (Default), false = no. When echo is off, the result of executing a command is not returned. Instead, you must use 'print' to send output.
echoOn
No return value (undefined)
function edit(funcName)
Fill the console with the contents of the given function, so you can edit it.
NOTE: This is a convenience function - it will not edit 'inner functions'. For that, you must edit the 'outer function' and re-execute it.
funcName The name of the function to edit (either a string or just the unquoted name)
No return value (undefined)
This function is used in the following places in Espruino's documentation
function eval(code)
Evaluate a string containing JavaScript code
code
The result of evaluating the string
This function is used in the following places in Espruino's documentation
function getPinMode(pin)
Return the current mode of the given pin. See pinMode
pin The pin to check
The pin mode, as a string
function getSerial()
Get the serial number of this board
No parameters
The board's serial number
function getTime()
Return the current system time in Seconds (as a floating point number)
No parameters
See description above
This function is used in the following places in Espruino's documentation
function isNaN(x)
Whether the x is NaN (Not a Number) or not
x
True is the value is NaN, false if not.
function load()
Load program memory out of flash
This command only executes when the Interpreter returns to the Idle state - for instance
a=1;load();a=2;
will still leave 'a' as undefined (or what it was set to in the saved program).
Espruino will resume from where it was when you last typed save()
. If you want code to be executed right after loading (for instance to initialise devices connected to Espruino), create a function called onInit
(which will be automatically executed by Espruino).
No parameters
No return value (undefined)
function parseFloat(string)
Convert a string representing a number into an float
string
The value of the string
function parseInt(string, radix)
Convert a string representing a number into an integer
string
radix The Radix of the string (optional)
The integer value of the string (or NaN)
This function is used in the following places in Espruino's documentation
function peek16(addr, count)
Read 16 bits of memory at the given location - DANGEROUS!
addr The address in memory to read
count (optional) the number of items to read. If >1 a Uint16Array will be returned.
The value of memory at the given location
function peek32(addr, count)
Read 32 bits of memory at the given location - DANGEROUS!
addr The address in memory to read
count (optional) the number of items to read. If >1 a Uint32Array will be returned.
The value of memory at the given location
This function is used in the following places in Espruino's documentation
function peek8(addr, count)
Read 8 bits of memory at the given location - DANGEROUS!
addr The address in memory to read
count (optional) the number of items to read. If >1 a Uint8Array will be returned.
The value of memory at the given location
function pinMode(pin, mode)
Set the mode of the given pin - note that digitalRead/digitalWrite/etc set this automatically unless pinMode has been called first. If you want digitalRead/etc to set the pin mode automatically after you have called pinMode, simply call it again with no mode argument:
pinMode(pin)
pin The pin to set pin mode for
mode The mode - a string that is either 'input', 'input_pullup', 'input_pulldown', 'output', 'opendrain', 'af_output' or 'af_opendrain'. Do not include this argument if you want to revert to automatic pin mode setting.
No return value (undefined)
This function is used in the following places in Espruino's documentation
function poke16(addr, value)
Write 16 bits of memory at the given location - VERY DANGEROUS!
addr The address in memory to write
value The value to write, or an array of values
No return value (undefined)
This function is used in the following places in Espruino's documentation
function poke32(addr, value)
Write 32 bits of memory at the given location - VERY DANGEROUS!
addr The address in memory to write
value The value to write, or an array of values
No return value (undefined)
This function is used in the following places in Espruino's documentation
function poke8(addr, value)
Write 8 bits of memory at the given location - VERY DANGEROUS!
addr The address in memory to write
value The value to write, or an array of values
No return value (undefined)
function print(text, ...)
Print the supplied string(s) to the console
**Note:** If you're connected to a computer (not a wall adaptor) via USB but **you are not running a terminal app** then when you print data Espruino may pause execution and wait until the computer requests the data it is trying to print.
text, ...
No return value (undefined)
This function is used in the following places in Espruino's documentation
function require(moduleName)
Load the given module, and return the exported functions
moduleName A String containing the name of the given module
The result of evaluating the string
This function is used in the following places in Espruino's documentation
function reset()
Reset the interpreter - clear program memory, and do not load a saved program from flash. This does NOT reset the underlying hardware (which allows you to reset the device without it disconnecting from USB).
This command only executes when the Interpreter returns to the Idle state - for instance
a=1;reset();a=2;
will still leave 'a' as undefined.
The safest way to do a full reset is to hit the reset button.
No parameters
No return value (undefined)
This function is used in the following places in Espruino's documentation
function save()
Save program memory into flash. It will then be loaded automatically every time Espruino powers on or is hard-reset.
This command only executes when the Interpreter returns to the Idle state - for instance
a=1;save();a=2;
will save 'a' as 2.
When Espruino powers on, it will resume from where it was when you typed save()
. If you want code to be executed right after loading (for instance to initialise devices connected to Espruino), create a function called onInit
(which will be automatically executed by Espruino).
In order to stop the program saved with this command being loaded automatically, hold down Button 1 while also pressing reset. On some boards, Button 1 enters bootloader mode, so you will need to press Reset with Button 1 raised, and then hold Button 1 down a fraction of a second later.
No parameters
No return value (undefined)
function setBusyIndicator(pin)
When Espruino is busy, set the pin specified here high. Set this to undefined to disable the feature.
pin
No return value (undefined)
function setDeepSleep(sleep)
Set whether we can enter deep sleep mode, which reduces power consumption to around 100uA. This only works on the Espruino Board.
Please see http://www.espruino.com/Power+Consumption for more details on this.
sleep
No return value (undefined)
This function is used in the following places in Espruino's documentation
function setInterval(function, timeout)
Call the function specified REPEATEDLY after the timeout in milliseconds.
The function that is being called may also take an argument, which is an object containing a field called 'time' (the time in seconds at which the timer happened)
for example:
setInterval(function (e) { print(e.time); }, 1000);
This can also be removed using clearInterval
**Note:** If setDeepSleep(true)
has been called and the interval is greater than 5 seconds, Espruino may execute the interval up to 1 second late. This is because Espruino can only wake from deep sleep every second - and waking early would cause Espruino to waste power while it waited for the correct time.
function A Function or String to be executed
timeout The time between calls to the function
An ID that can be passed to clearInterval
This function is used in the following places in Espruino's documentation
function setSleepIndicator(pin)
When Espruino is asleep, set the pin specified here low (when it's awake, set it high). Set this to undefined to disable the feature.
Please see http://www.espruino.com/Power+Consumption for more details on this.
pin
No return value (undefined)
This function is used in the following places in Espruino's documentation
function setTime(time)
Set the current system time in seconds (to the nearest second)
time
No return value (undefined)
function setTimeout(function, timeout)
Call the function specified ONCE after the timeout in milliseconds.
The function that is being called may also take an argument, which is an object containing a field called 'time' (the time in seconds at which the timer happened)
for example:
setTimeout(function (e) { print(e.time); }, 1000);
This can also be removed using clearTimeout
**Note:** If setDeepSleep(true)
has been called and the interval is greater than 5 seconds, Espruino may execute the interval up to 1 second late. This is because Espruino can only wake from deep sleep every second - and waking early would cause Espruino to waste power while it waited for the correct time.
function A Function or String to be executed
timeout The time until the function will be executed
An ID that can be passed to clearTimeout
This function is used in the following places in Espruino's documentation
function setWatch(function, pin, options)
Call the function specified when the pin changes
The function may also take an argument, which is an object of type {time:float, lastTime:float, state:bool}
.
time
is the time in seconds at which the pin changed state, lastTime
is the time in seconds at which the pin last changed state, and state
is the current state of the pin.
For instance, if you want to measure the length of a positive pulse you could use:
setWatch(function(e) { console.log(e.time-e.lastTime); }, BTN, { repeat:true, edge:'falling' });
If the callback is a native function void (bool state)
then you can also add irq:true
to options, which will cause the function to be
called from within the IRQ. When doing this, interruptions will happen on both
edges and there will be no debouncing.
Watches set with setWatch
can be removed using clearWatch
function A Function or String to be executed
pin The pin to watch
options If this is a boolean or integer, it determines whether to call this once (false = default) or every time a change occurs (true)
If this is an object, it can contain the following information:
{ repeat: true/false(default), edge:'rising'/'falling'/'both'(default), debounce:10}
. debounce
is the time in ms to wait for bounces to subside, or 0.
An ID that can be passed to clearWatch
This function is used in the following places in Espruino's documentation
function trace(root)
Output debugging information
Note: This is only available in some devices: not devices with low flash memory
root The symbol to output (optional). If nothing is specified, everything will be output
No return value (undefined)
This is the built-in JavaScript class for arrays.
Arrays can be defined with
[]
,
new Array()
, or
new Array(length)
new Array(args, ...)
Create an Array. Either give it one integer argument (>=0) which is the length of the array, or any number of arguments
args, ... The length of the array OR any number of items to add to the array
An Array
function Array.concat(args, ...)
Create a new array, containing the elements from this one and any arguments, if any argument is an array then those elements will be added.
Note: This is only available in some devices: not devices with low flash memory
args, ... Any items to add to the array
An Array
function Array.every(function, thisArg)
Return 'true' if the callback returns 'true' for every element in the array
function Function to be executed
thisArg if specified, the function is called with 'this' set to thisArg (optional)
A boolean containing the result
function Array.fill(value, start, end)
Fill this array with the given value, for every index >= start
and < end
Note: This is only available in some devices: not devices with low flash memory
value The value to fill the array with
start Optional. The index to start from (or 0). If start is negative, it is treated as length+start where length is the length of the array
end Optional. The index to end at (or the array length). If end is negative, it is treated as length+end.
This array
function Array.filter(function, thisArg)
Return an array which contains only those elements for which the callback function returns 'true'
function Function to be executed
thisArg if specified, the function is called with 'this' set to thisArg (optional)
An array containing the results
function Array.forEach(function, thisArg)
Executes a provided function once per array element.
function Function to be executed
thisArg if specified, the function is called with 'this' set to thisArg (optional)
No return value (undefined)
function Array.indexOf(value)
Return the index of the value in the array, or -1
value The value to check for
the index of the value in the array, or -1
Array.isArray(var)
Returns true if the provided object is an array
var The variable to be tested
True if var is an array, false if not.
function Array.join(separator)
Join all elements of this array together into one string, using 'separator' between them. eg.
[1,2,3].join(' ')=='1 2 3'
separator The separator
A String representing the Joined array
property Array.length
Find the length of the array
No parameters
The value of the array
function Array.map(function, thisArg)
Return an array which is made from the following:
A.map(function) = [function(A[0]), function(A[1]), ...]
function Function used to map one item to another
thisArg if specified, the function is called with 'this' set to thisArg (optional)
An array containing the results
function Array.pop()
Pop a new value off of the end of this array
No parameters
The value that is popped off
function Array.push(arguments, ...)
Push a new value onto the end of this array'
arguments, ... One or more arguments to add
The new size of the array
This function is used in the following places in Espruino's documentation
function Array.reduce(callback, initialValue)
Execute previousValue=initialValue
and then previousValue = callback(previousValue, currentValue, index, array)
for each element in the array, and finally return previousValue.
Note: This is only available in some devices: not devices with low flash memory
callback Function used to reduce the array
initialValue if specified, the initial value to pass to the function
The value returned by the last function called
function Array.reverse()
Reverse all elements in this array (in place)
Note: This is only available in some devices: not devices with low flash memory
No parameters
The array, but reversed.
function Array.shift()
Remove the first element of the array, and return it
Note: This is only available in some devices: not devices with low flash memory
The element that was removed
function Array.slice(start, end)
Return a copy of a portion of the calling array
start Start index
end End index (optional)
A new array
function Array.some(function, thisArg)
Return 'true' if the callback returns 'true' for any of the elements in the array
function Function to be executed
thisArg if specified, the function is called with 'this' set to thisArg (optional)
A boolean containing the result
function Array.sort(var)
Do an in-place quicksort of the array
Note: This is only available in some devices: not devices with low flash memory
var A function to use to compare array elements (or undefined)
This array object
function Array.splice(index, howMany, elements, ...)
Both remove and add items to an array
index Index at which to start changing the array. If negative, will begin that many elements from the end
howMany An integer indicating the number of old array elements to remove. If howMany is 0, no elements are removed.
elements, ... One or more items to add to the array
An array containing the removed elements. If only one element is removed, an array of one element is returned.
function Array.toString(radix)
Convert the Array to a string
radix unused
A String representing the array
function Array.unshift(elements, ...)
Remove the first element of the array, and return it
Note: This is only available in some devices: not devices with low flash memory
elements, ... One or more items to add to the beginning of the array
The new array length
This is the built-in JavaScript class for array buffers.
new ArrayBuffer(byteLength)
Create an Array Buffer object
byteLength The length in Bytes
An ArrayBuffer object
This is the built-in JavaScript class that is the prototype for Uint8Array / Float32Array / etc
property ArrayBufferView.buffer
The buffer this view references
No parameters
An ArrayBuffer object
property ArrayBufferView.byteLength
The length, in bytes, of the view
No parameters
The Length
property ArrayBufferView.byteOffset
The offset, in bytes, to the first byte of the view within the ArrayBuffer
No parameters
The byte Offset
function ArrayBufferView.fill(value, start, end)
Fill this array with the given value, for every index >= start
and < end
Note: This is only available in some devices: not devices with low flash memory
value The value to fill the array with
start Optional. The index to start from (or 0). If start is negative, it is treated as length+start where length is the length of the array
end Optional. The index to end at (or the array length). If end is negative, it is treated as length+end.
This array
This function is used in the following places in Espruino's documentation
function ArrayBufferView.forEach(function, thisArg)
Executes a provided function once per array element.
function Function to be executed
thisArg if specified, the function is called with 'this' set to thisArg (optional)
No return value (undefined)
function ArrayBufferView.indexOf(value)
Return the index of the value in the array, or -1
value The value to check for
the index of the value in the array, or -1
function ArrayBufferView.join(separator)
Join all elements of this array together into one string, using 'separator' between them. eg.
[1,2,3].join(' ')=='1 2 3'
separator The separator
A String representing the Joined array
function ArrayBufferView.map(function, thisArg)
Return an array which is made from the following:
A.map(function) = [function(A[0]), function(A[1]), ...]
**Note:** This returns an ArrayBuffer of the same type it was called on. To get an Array, use Array.prototype.map
function Function used to map one item to another
thisArg if specified, the function is called with 'this' set to thisArg (optional)
An array containing the results
function ArrayBufferView.reduce(callback, initialValue)
Execute previousValue=initialValue
and then previousValue = callback(previousValue, currentValue, index, array)
for each element in the array, and finally return previousValue.
Note: This is only available in some devices: not devices with low flash memory
callback Function used to reduce the array
initialValue if specified, the initial value to pass to the function
The value returned by the last function called
function ArrayBufferView.reverse()
Reverse the contents of this arraybuffer in-place
Note: This is only available in some devices: not devices with low flash memory
No parameters
This array
function ArrayBufferView.set(arr, offset)
Copy the contents of array
into this one, mapping this[x+offset]=array[x];
arr Floating point index to access
offset The offset in this array at which to write the values (optional)
No return value (undefined)
This function is used in the following places in Espruino's documentation
function ArrayBufferView.sort(var)
Do an in-place quicksort of the array
Note: This is only available in some devices: not devices with low flash memory
var A function to use to compare array elements (or undefined)
This array object
new Boolean(value)
Creates a number
value A single value to be converted to a number
A Boolean object
CC3000.connect(spi, cs, en, irq)
Initialise the CC3000 and return a WLAN object
spi Device to use for SPI (or undefined to use the default). SPI should be 1,000,000 baud, and set to 'mode 1'
cs The pin to use for Chip Select
en The pin to use for Enable
irq The pin to use for Interrupts
A WLAN Object
The built-in class for handling Dates
new Date(args, ...)
Creates a date object
args, ... Either nothing (current time), one numeric argument (milliseconds since 1970), a date string (see Date.parse
), or [year, month, day, hour, minute, second, millisecond]
A Date object
function Date.getDate()
Day of the month 1..31
No parameters
See description above
function Date.getDay()
Day of the week (0=sunday, 1=monday, etc)
No parameters
See description above
function Date.getFullYear()
The year, eg. 2014
No parameters
See description above
function Date.getHours()
0..23
No parameters
See description above
function Date.getMilliseconds()
0..999
No parameters
See description above
function Date.getMinutes()
0..59
No parameters
See description above
function Date.getMonth()
Month of the year 0..11
No parameters
See description above
function Date.getSeconds()
0..59
No parameters
See description above
function Date.getTime()
Return the number of milliseconds since 1970
No parameters
See description above
function Date.getTimezoneOffset()
The getTimezoneOffset() method returns the time-zone offset from UTC, in minutes, for the current locale.
No parameters
The difference, in minutes, between UTC and local time
Date.now()
Get the number of milliseconds elapsed since 1970 (or on embedded platforms, since startup)
No parameters
See description above
Date.parse(str)
Parse a date string and return milliseconds since 1970. Data can be either '2011-10-20T14:48:00', '2011-10-20' or 'Mon, 25 Dec 1995 13:30:00 +0430'
str A String
The number of milliseconds since 1970
This function is used in the following places in Espruino's documentation
function Date.toString()
Converts to a String, eg: Fri Jun 20 2014 14:52:20 GMT+0000
**Note:** This always assumes a timezone of GMT+0000
No parameters
A String
function Date.toUTCString()
Converts to a String, eg: Fri, 20 Jun 2014 14:52:20 GMT
**Note:** This always assumes a timezone of GMT
No parameters
A String
function Date.valueOf()
Return the number of milliseconds since 1970
No parameters
See description above
This is the built-in JavaScript class for Espruino utility functions.
E.FFT(arrReal, arrImage, inverse)
Performs a Fast Fourier Transform (fft) on the supplied data and writes it back into the original arrays. Note that if only one array is supplied, the data written back is the modulus of the complex result sqrt(r*r+i*i)
.
Note: This is only available in some devices: not devices with low flash memory
arrReal An array of real values
arrImage An array of imaginary values (or if undefined, all values will be taken to be 0)
inverse Set this to true if you want an inverse FFT - otherwise leave as 0
No return value (undefined)
E.clip(x, min, max)
Clip a number to be between min and max (inclusive)
Note: This is only available in some devices: not devices with low flash memory
x A floating point value to clip
min The smallest the value should be
max The largest the value should be
The value of x, clipped so as not to be below min or above max.
This function is used in the following places in Espruino's documentation
E.connectSDCard(spi, csPin)
Setup the filesystem so that subsequent calls to E.openFile
and require('fs').*
will use an SD card on the supplied SPI device and pin.
It can even work using software SPI - for instance:
var spi = new SPI();
spi.setup({mosi:C7,miso:C8,sck:C9});
E.connectSDCard(spi,C6);
console.log(require("fs").readdirSync());
Note: This is only available in some devices: not LINUX
spi The SPI object to use for communication
csPin The pin to use for Chip Select
No return value (undefined)
E.convolve(arr1, arr2, offset)
Convolve arr1 with arr2. This is equivalent to v=0;for (i in arr1) v+=arr1[i] * arr2[(i+offset) % arr2.length]
Note: This is only available in some devices: not devices with low flash memory
arr1 An array to convolve
arr2 An array to convolve
offset The mean value of the array
The variance of the given buffer
E.dumpTimers()
Output the current list of Utility Timer Tasks - for debugging only
Note: This is only available in some devices: not release builds
No parameters
No return value (undefined)
E.enableWatchdog(timeout)
Enable the watchdog timer. This will reset Espruino if it isn't able to return to the idle loop within the timeout. NOTE: This will not work with setDeepSleep
unless you explicitly wake Espruino up with an interval of less than the timeout.
Note: This is only available in some devices: not devices with low flash memory
timeout The timeout in seconds before a watchdog reset
No return value (undefined)
E.getAnalogVRef()
Check the internal voltage reference. To work out an actual voltage of an input pin, you can use analogRead(pin)*E.getAnalogVRef()
While this is implemented on Espruino boards, it may not be implemented on other devices. If so it'll return NaN.
Note: This is only available in some devices: not devices with low flash memory
No parameters
The voltage (in Volts) that a reading of 1 from analogRead
actually represents
This function is used in the following places in Espruino's documentation
E.getErrorFlags()
Get and reset the error flags. Returns an array that can contain:
'FIFO_FULL'
: The receive FIFO filled up and data was lost. This could be state transitions for setWatch, or received characters.
'BUFFER_FULL'
: A buffer for a stream filled up and characters were lost. This can happen to any stream - Serial,HTTP,etc.
'CALLBACK'
: A callback (setWatch
, setInterval
, on('data',...)
) caused an error and so was removed.
'LOW_MEMORY'
: Memory is running low - Espruino had to run a garbage collection pass or remove some of the command history
'MEMORY'
: Espruino ran out of memory and was unable to allocate some data that it needed.
Note: This is only available in some devices: not devices with low flash memory
No parameters
An array of error flags
E.getSizeOf(v)
Return the number of Variable Blocks used by the supplied variable. This is useful if you're running out of memory and you want to be able to see what is taking up most of the available space.
See http://www.espruino.com/Internals for more information
Note: This is only available in some devices: not devices with low flash memory
v A variable to get the size of
The number of variable 'blocks' as an integer
E.getTemperature()
Use the STM32's internal thermistor to work out the temperature.
While this is implemented on Espruino boards, it may not be implemented on other devices. If so it'll return NaN.
**Note:** This is not entirely accurate and varies by a few degrees from chip to chip. It measures the **die temperature**, so when connected to USB it could be reading 10 over degrees C above ambient temperature. When running from battery with setDeepSleep(true)
it is much more accurate though.
Note: This is only available in some devices: not devices with low flash memory
No parameters
The temperature in degrees C
This function is used in the following places in Espruino's documentation
E.interpolate(array, index)
Interpolate between two adjacent values in the Typed Array
Note: This is only available in some devices: not devices with low flash memory
array A Typed Array to interpolate between
index Floating point index to access
The result of interpolating between (int)index and (int)(index+1)
E.interpolate2d(array, width, x, y)
Interpolate between four adjacent values in the Typed Array, in 2D.
Note: This is only available in some devices: not devices with low flash memory
array A Typed Array to interpolate between
width Integer 'width' of 2d array
x Floating point X index to access
y Floating point Y index to access
The result of interpolating in 2d between the 4 surrounding cells
E.nativeCall(addr, sig, data)
ADVANCED: This is a great way to crash Espruino if you're not sure what you are doing
Create a native function that executes the code at the given address. Eg. E.nativeCall(0x08012345,'double (double,double)')(1.1, 2.2)
If you're executing a thumb function, you'll almost certainly need to set the bottom bit of the address to 1.
Note it's not guaranteed that the call signature you provide can be used - there are limits on the number of arguments allowed.
When supplying data
, if it is a 'flat string' then it will be used directly, otherwise it'll be converted to a flat string and used.
Note: This is only available in some devices: not devices with low flash memory
addr The address in memory of the function (or offset in data
if it was supplied
sig The signature of the call, returnType (arg1,arg2,...)
. Allowed types are void
,bool
,int
,double
,Pin
,JsVar
data (Optional) A string containing the function itself. If not supplied then 'addr' is used as an absolute address.
The native function
This function is used in the following places in Espruino's documentation
E.openFile(path, mode)
Open a file
path the path to the file to open.
mode The mode to use when opening the file. Valid values for mode are 'r' for read, 'w' for write new, 'w+' for write existing, and 'a' for append. If not specified, the default is 'r'.
A File object
This function is used in the following places in Espruino's documentation
E.reverseByte(x)
Reverse the 8 bits in a byte, swapping MSB and LSB.
For example, E.reverseByte(0b10010000) == 0b00001001
.
Note that you can reverse all the bytes in an array with: arr = arr.map(E.reverseByte)
x A byte value to reverse the bits of
The byte with reversed bits
E.sum(arr)
Sum the contents of the given Array, String or ArrayBuffer and return the result
Note: This is only available in some devices: not devices with low flash memory
arr The array to sum
The sum of the given buffer
This function is used in the following places in Espruino's documentation
E.toArrayBuffer(str)
Create an ArrayBuffer from the given string. This is done via a reference, not a copy - so it is very fast and memory efficient.
Note that this is an ArrayBuffer, not a Uint8Array. To get one of those, do: new Uint8Array(E.toArrayBuffer('....'))
.
str The string to convert to an ArrayBuffer
An ArrayBuffer that uses the given string
This function is used in the following places in Espruino's documentation
E.toString(args, ...)
This creates a string from the given arguments. If an argument is a String or an Array,
each element is traversed and added as an 8 bit character. If it is anything else, it is
converted to a character directly.
args, ... The arguments to convert to a String
A String
This function is used in the following places in Espruino's documentation
E.toUint8Array(args, ...)
This creates a Uint8Array from the given arguments. If an argument is a String or an Array,
each element is traversed and added as if it were an 8 bit value. If it is anything else, it is
converted to an 8 bit value directly.
args, ... The arguments to convert to a Uint8Array
A String
E.unmountSD()
Unmount the SD card, so it can be removed. If you remove the SD card without calling this you may cause corruption, and you will be unable to access another SD card until you reset Espruino or call E.unmountSD()
.
No parameters
No return value (undefined)
E.variance(arr, mean)
Work out the variance of the contents of the given Array, String or ArrayBuffer and return the result. This is equivalent to v=0;for (i in arr) v+=Math.pow(mean-arr[i],2)
Note: This is only available in some devices: not devices with low flash memory
arr The array to work out the variance for
mean The mean value of the array
The variance of the given buffer
Library for the Espressif ESP8266 WiFi Module
ESP8266.connect(serial, callback)
Initialise the WIZnet module and return an Ethernet object
serial The Serial port used for communications with the ESP8266 (must already be setup)
callback Function to call back when connected
An ESP8266 Object
An instantiation of an ESP8266 network adaptor
function ESPWifi.connect(ap, key, callback)
Connect to an access point
ap Access point name
key WPA2 key (or undefined for unsecured connection)
callback Function to call back with connection status. It has one argument which is one of 'connect'/'disconnect'/'dhcp'
See description above
function ESPWifi.getIP()
Get the current IP address
No parameters
See description above
function ESPWifi.setIP(options)
Set the current IP address for get an IP from DHCP (if no options object is specified)
options Object containing IP address options { ip : '1,2,3,4', subnet, gateway, dns }
, or do not supply an object in otder to force DHCP.
True on success
The base class for runtime errors
new Error(message)
Creates an Error object
message An optional message string
An Error object
function Error.toString()
No parameters
A String
An instantiation of an Ethernet network adaptor
function Ethernet.getIP()
Get the current IP address
No parameters
See description above
function Ethernet.setIP(options)
Set the current IP address for get an IP from DHCP (if no options object is specified)
options Object containing IP address options { ip : '1,2,3,4', subnet, gateway, dns }
, or do not supply an object in otder to force DHCP.
True on success
This is the File object - it allows you to stream data to and from files (As opposed to the require('fs').readFile(..)
style functions that read an entire file).
To create a File object, you must type
var fd = E.openFile('filepath','mode')
- see E.openFile for more information.
**Note:** If you want to remove an SD card after you have started using it, you *must* call E.unmountSD()
or you may cause damage to the card.
function File.close()
Close an open file.
No parameters
No return value (undefined)
function File.pipe(destination, options)
Pipe this file to a stream (an object with a 'write' method)
Note: This is only available in some devices: not devices with low flash memory
destination The destination file/stream that will receive content from the source.
options An optional object { chunkSize : int=32, end : bool=true, complete : function }
chunkSize : The amount of data to pipe from source to destination at a time
complete : a function to call when the pipe activity is complete
end : call the 'end' function on the destination when the source is finished
No return value (undefined)
function File.read(length)
Read data in a file in byte size chunks
length is an integer specifying the number of bytes to read.
A string containing the characters that were read
This function is used in the following places in Espruino's documentation
function File.seek(nBytes)
Seek to a certain position in the file
nBytes is an integer specifying the number of bytes to skip forwards.
No return value (undefined)
function File.skip(nBytes)
Skip the specified number of bytes forward in the file
nBytes is a positive integer specifying the number of bytes to skip forwards.
No return value (undefined)
function File.write(buffer)
write data to a file
buffer A string containing the bytes to write
the number of bytes written
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Float32Array(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Float64Array(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
This is the built-in class for Functions
new Function(code)
Creates a function
code A string representing the code to run
A Number object
function Function.apply(this, args)
This executes the function with the supplied 'this' argument and parameters
this The value to use as the 'this' argument when executing the function
args Optional Array of Arguments
The return value of executing this function
function Function.call(this, params, ...)
This executes the function with the supplied 'this' argument and parameters
this The value to use as the 'this' argument when executing the function
params, ... Optional Parameters
The return value of executing this function
function Function.replaceWith(newFunc)
This replaces the function with the one in the argument - while keeping the old function's scope. This allows inner functions to be edited, and is used when edit() is called on an inner function.
newFunc The new function to replace this function with
No return value (undefined)
This class provides Graphics operations that can be applied to a surface.
Use Graphics.createXXX to create a graphics object that renders in the way you want.
NOTE: On boards that contain an LCD, there is a built-in 'LCD' object of type Graphics. For instance to draw a line you'd type:
LCD.drawLine(0,0,100,100)
function Graphics.clear()
Clear the LCD with the Background Color
No parameters
No return value (undefined)
This function is used in the following places in Espruino's documentation
Graphics.createArrayBuffer(width, height, bpp, options)
Create a Graphics object that renders to an Array Buffer. This will have a field called 'buffer' that can get used to get at the buffer itself
width Pixels wide
height Pixels high
bpp Number of bits per pixel
options An object of other options.
{ zigzag : true/false(default), vertical_byte : true/false(default) }
zigzag = whether to alternate the direction of scanlines for rows
vertical_byte = whether to align bits in a byte vertically or not
The new Graphics object
This function is used in the following places in Espruino's documentation
Graphics.createCallback(width, height, bpp, callback)
Create a Graphics object that renders by calling a JavaScript callback function to draw pixels
width Pixels wide
height Pixels high
bpp Number of bits per pixel
callback A function of the form
function(x,y,col)
that is called whenever a pixel needs to be drawn, or an object with:
{setPixel:function(x,y,col),fillRect:function(x1,y1,x2,y2,col)}
. All arguments are already bounds checked.
The new Graphics object
This function is used in the following places in Espruino's documentation
Graphics.createSDL(width, height)
Create a Graphics object that renders to SDL window (Linux-based devices only)
Note: This is only available in some devices: Linux with SDL support compiled in
width Pixels wide
height Pixels high
The new Graphics object
function Graphics.drawImage(image, x, y)
Draw an image at the specified position. If the image is 1 bit, the graphics foreground/background colours will be used. Otherwise color data will be copied as-is. Bitmaps are rendered MSB-first
image An object with the following fields { width : int, height : int, bpp : int, buffer : ArrayBuffer, transparent: optional int }
. bpp = bits per pixel, transparent (if defined) is the colour that will be treated as transparent
x The X offset to draw the image
y The Y offset to draw the image
No return value (undefined)
This function is used in the following places in Espruino's documentation
function Graphics.drawLine(x1, y1, x2, y2)
Draw a line between x1,y1 and x2,y2 in the current foreground color
x1 The left
y1 The top
x2 The right
y2 The bottom
No return value (undefined)
This function is used in the following places in Espruino's documentation
function Graphics.drawRect(x1, y1, x2, y2)
Draw an unfilled rectangle 1px wide in the Foreground Color
x1 The left
y1 The top
x2 The right
y2 The bottom
No return value (undefined)
function Graphics.drawString(str, x, y)
Draw a string of text in the current font
str The string
x The left
y The top
No return value (undefined)
function Graphics.fillPoly(poly)
Draw a filled polygon in the current foreground color
poly An array of vertices, of the form
[x1,y1,x2,y2,x3,y3,etc]
No return value (undefined)
function Graphics.fillRect(x1, y1, x2, y2)
Fill a rectangular area in the Foreground Color
x1 The left
y1 The top
x2 The right
y2 The bottom
No return value (undefined)
function Graphics.getBgColor()
Get the background color to use for subsequent drawing operations
No parameters
The integer value of the colour
function Graphics.getColor()
Get the color to use for subsequent drawing operations
No parameters
The integer value of the colour
function Graphics.getHeight()
The height of the LCD
No parameters
The height of the LCD
function Graphics.getPixel(x, y)
Get a pixel's color
x The left
y The top
The color
function Graphics.getWidth()
The width of the LCD
No parameters
The width of the LCD
function Graphics.lineTo(x, y)
Draw a line from the last position of lineTo or moveTo to this position
x X value
y Y value
No return value (undefined)
function Graphics.moveTo(x, y)
Move the cursor to a position - see lineTo
x X value
y Y value
No return value (undefined)
function Graphics.setBgColor(r, g, b)
Set the background color to use for subsequent drawing operations
r Red (between 0 and 1) OR an integer representing the color in the current bit depth and color order
g Green (between 0 and 1)
b Blue (between 0 and 1)
No return value (undefined)
function Graphics.setBgColorHSV(h, s, v)
Set the background HSV color to use for subsequent drawing operations
h Hue (between 0 and 1)
s Saturation (between 0 and 1)
v Value (between 0 and 1)
No return value (undefined)
function Graphics.setColor(r, g, b)
Set the color to use for subsequent drawing operations
r Red (between 0 and 1) OR an integer representing the color in the current bit depth and color order
g Green (between 0 and 1)
b Blue (between 0 and 1)
No return value (undefined)
This function is used in the following places in Espruino's documentation
function Graphics.setColorHSV(h, s, v)
Set the HSV color to use for subsequent drawing operations
h Hue (between 0 and 1)
s Saturation (between 0 and 1)
v Value (between 0 and 1)
No return value (undefined)
function Graphics.setFontBitmap()
Set Graphics to draw with a Bitmapped Font
No parameters
No return value (undefined)
function Graphics.setFontCustom(bitmap, firstChar, width, height)
Set Graphics to draw with a Custom Font
bitmap A column-first, MSB-first, 1bpp bitmap containing the font bitmap
firstChar The first character in the font - usually 32 (space)
width The width of each character in the font. Either an integer, or a string where each character represents the width
height The height as an integer
No return value (undefined)
function Graphics.setFontVector(size)
Set Graphics to draw with a Vector Font of the given size
Note: This is only available in some devices: not devices with low flash memory
size The size as an integer
No return value (undefined)
function Graphics.setPixel(x, y, col)
Set a pixel's color
x The left
y The top
col The color
No return value (undefined)
function Graphics.setRotation(rotation, reflect)
Set the current rotation of the graphics device.
rotation The clockwise rotation. 0 for no rotation, 1 for 90 degrees, 2 for 180, 3 for 270
reflect Whether to reflect the image
No return value (undefined)
function Graphics.stringWidth(str)
Return the size in pixels of a string of text in the current font
str The string
The length of the string in pixels
**Note:** This class is currently only included in builds for the original Espruino boards.
For other boards you will have to make build your own firmware.
function HASH.digest(message)
message part of message
Hash digest
function HASH.hexdigest(message)
message part of message
Hash hexdigest
function HASH.update(message)
message part of message
No return value (undefined)
This class allows use of the built-in I2C ports. Currently it allows I2C Master mode only.
All addresses are in 7 bit format. If you have an 8 bit address then you need to shift it one bit to the right.
I2C1
The first I2C port
I2C2
The second I2C port
I2C3
The third I2C port
function I2C.readFrom(address, quantity)
Request bytes from the given slave device, and return them as a Uint8Array (packed array of bytes). This is like using Arduino Wire's requestFrom, available and read functions. Sends a STOP
address The 7 bit address of the device to request bytes from, or an object of the form {address:12, stop:false}
to send this data without a STOP signal.
quantity The number of bytes to request
The data that was returned - as a Uint8Array
function I2C.setup(options)
Set up this I2C port
If not specified in options, the default pins are used (usually the lowest numbered pins on the lowest port that supports this peripheral)
options An optional structure containing extra information on initialising the I2C port
{scl:pin, sda:pin, bitrate:100000}
You can find out which pins to use by looking at your board's reference page and searching for pins with the I2C
marker. Note that 400000kHz is the maximum bitrate for most parts.
No return value (undefined)
This function is used in the following places in Espruino's documentation
function I2C.writeTo(address, data, ...)
Transmit to the slave device with the given address. This is like Arduino's beginTransmission, write, and endTransmission rolled up into one.
address The 7 bit address of the device to transmit to, or an object of the form {address:12, stop:false}
to send this data without a STOP signal.
data, ... One or more items to write. May be ints, strings, arrays, or objects of the form {data: ..., count:#}
.
No return value (undefined)
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Int16Array(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Int32Array(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Int8Array(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
The base class for internal errors
new InternalError(message)
Creates an InternalError object
message An optional message string
An InternalError object
function InternalError.toString()
No parameters
A String
An Object that handles conversion to and from the JSON data interchange format
JSON.parse(string)
Parse the given JSON string into a JavaScript object
NOTE: This implementation uses eval() internally, and as such it is unsafe as it can allow arbitrary JS commands to be executed.
string A JSON string
The JavaScript object created by parsing the data string
This function is used in the following places in Espruino's documentation
JSON.stringify(data)
Convert the given object into a JSON string which can subsequently be parsed with JSON.parse or eval
data The data to be converted to a JSON string
A JSON string
This function is used in the following places in Espruino's documentation
This is a standard JavaScript class that contains useful Maths routines
Math.E
No parameters
The value of E - 2.718281828459045
Math.LN10
No parameters
The natural logarithm of 10 - 2.302585092994046
Math.LN2
No parameters
The natural logarithm of 2 - 0.6931471805599453
Math.LOG10E
No parameters
The base 10 logarithm of e - 0.4342944819032518
Math.LOG2E
No parameters
The base 2 logarithm of e - 1.4426950408889634
Math.PI
No parameters
The value of PI - 3.141592653589793
Math.SQRT1_2
No parameters
The square root of 1/2 - 0.7071067811865476
Math.SQRT2
No parameters
The square root of 2 - 1.4142135623730951
Math.abs(x)
x A floating point value
The absolute value of x (eg,
Math.abs(2)==2
, but also
Math.abs(-2)==2
)
This function is used in the following places in Espruino's documentation
Math.acos(x)
x The value to get the arc cosine of
The arc cosine of x, between 0 and PI
Math.asin(x)
x The value to get the arc sine of
The arc sine of x, between -PI/2 and PI/2
Math.atan(x)
x The value to get the arc tangent of
The arc tangent of x, between -PI/2 and PI/2
Math.atan2(y, x)
y The Y-part of the angle to get the arc tangent of
x The X-part of the angle to get the arc tangent of
The arctangent of Y/X, between -PI and PI
Math.ceil(x)
x The value to round up
x, rounded upwards to the nearest integer
Math.clip(x, min, max)
DEPRECATED - Please use E.clip()
instead. Clip a number to be between min and max (inclusive)
Note: This is only available in some devices: not devices with low flash memory
x A floating point value to clip
min The smallest the value should be
max The largest the value should be
The value of x, clipped so as not to be below min or above max.
Math.cos(theta)
theta The angle to get the cosine of
The cosine of theta
This function is used in the following places in Espruino's documentation
Math.exp(x)
x The value raise E to the power of
E^x
Math.floor(x)
x The value to round down
x, rounded downwards to the nearest integer
This function is used in the following places in Espruino's documentation
Math.log(x)
x The value to take the logarithm (base E) root of
The log (base E) of x
This function is used in the following places in Espruino's documentation
Math.max(args, ...)
Find the maximum of a series of numbers
args, ... A floating point value to clip
The maximum of the supplied values
This function is used in the following places in Espruino's documentation
Math.min(args, ...)
Find the minimum of a series of numbers
args, ... A floating point value to clip
The minimum of the supplied values
Math.pow(x, y)
x The value to raise to the power
y The power x should be raised to
x raised to the power y (x^y)
Math.random()
No parameters
A random number between 0 and 1
This function is used in the following places in Espruino's documentation
Math.round(x)
x The value to round
x, rounded to the nearest integer
This function is used in the following places in Espruino's documentation
Math.sin(theta)
theta The angle to get the sine of
The sine of theta
This function is used in the following places in Espruino's documentation
Math.sqrt(x)
x The value to take the square root of
The square root of x
Math.tan(theta)
theta The angle to get the tangent of
The tangent of theta
Math.wrap(x, max)
Wrap a number around if it is less than 0 or greater than or equal to max. For instance you might do:
Math.wrap(angleInDegrees, 360)
Note: This is only available in some devices: not devices with low flash memory
x A floating point value to wrap
max The largest the value should be
The value of x, wrapped so as not to be below min or above max.
This function is used in the following places in Espruino's documentation
Built-in class that caches the modules used by the require
command
Modules.addCached(id, sourcecode)
Add the given module to the cache
id The module name to add
sourcecode The module's sourcecode
No return value (undefined)
Modules.getCached()
Return an array of module names that have been cached
No parameters
An array of module names
Modules.removeAllCached()
Remove all cached modules
No parameters
No return value (undefined)
Modules.removeCached(id)
Remove the given module from the list of cached modules
id The module name to remove
No return value (undefined)
This is the built-in class for the Arduino-style pin namings on ST Nucleo boards
Nucleo.A0
No parameters
A Pin
Nucleo.A1
No parameters
A Pin
Nucleo.A2
No parameters
A Pin
Nucleo.A3
No parameters
A Pin
Nucleo.A4
No parameters
A Pin
Nucleo.A5
No parameters
A Pin
Nucleo.D0
No parameters
A Pin
Nucleo.D1
No parameters
A Pin
Nucleo.D10
No parameters
A Pin
Nucleo.D11
No parameters
A Pin
Nucleo.D12
No parameters
A Pin
Nucleo.D13
No parameters
A Pin
Nucleo.D14
No parameters
A Pin
Nucleo.D15
No parameters
A Pin
Nucleo.D2
No parameters
A Pin
Nucleo.D3
No parameters
A Pin
Nucleo.D4
No parameters
A Pin
Nucleo.D5
No parameters
A Pin
Nucleo.D6
No parameters
A Pin
Nucleo.D7
No parameters
A Pin
Nucleo.D8
No parameters
A Pin
Nucleo.D9
No parameters
A Pin
This is the built-in JavaScript class for numbers.
Number.MAX_VALUE
No parameters
Maximum representable value
Number.MIN_VALUE
No parameters
Smallest representable value
Number.NEGATIVE_INFINITY
No parameters
Negative Infinity (-1/0)
Number.NaN
No parameters
Not a Number
new Number(value, ...)
Creates a number
value, ... A single value to be converted to a number
A Number object
Number.POSITIVE_INFINITY
No parameters
Positive Infinity (1/0)
function Number.toFixed(decimalPlaces)
Format the number as a fixed point number
decimalPlaces A number between 0 and 20 specifying the number of decimal digits after the decimal point
A string
This is the built-in class for Objects
function Object.clone()
Copy this object completely
No parameters
A copy of this Object
Object.create(proto)
Creates a new object with the specified prototype object and properties. properties are currently unsupported.
proto A prototype object
A new object
function Object.emit(event, args, ...)
Call the event listeners for this object, for instance
http.emit('data', 'Foo')
. See Node.js's EventEmitter.
event The name of the event, for instance 'data'
args, ... Optional arguments
No return value (undefined)
Object.getOwnPropertyDescriptor(obj, name)
Get information on the given property in the object, or undefined
obj The object
name The name of the property
An object with a description of the property. The values of writable/enumerable/configurable may not be entirely correct due to Espruino's implementation.
Object.getOwnPropertyNames(object)
Returns an array of all properties (enumerable or not) found directly on a given object.
**Note:** This doesn't currently work as it should for built-in objects and their prototypes. See bug #380
object The Object to return a list of property names for
An array of the Object's own properties
function Object.hasOwnProperty(name)
Return true if the object (not its prototype) has the given property.
NOTE: This currently returns false-positives for built-in functions in prototypes
name The name of the property to search for
True if it exists, false if it doesn't
Object.keys(object)
Return all enumerable keys of the given object
object The object to return keys for
An array of strings - one for each key on the given object
property Object.length
Find the length of the object
No parameters
The length of the object
function Object.on(event, listener)
Register an event listener for this object, for instance
http.on('data', function(d) {...})
. See Node.js's EventEmitter.
event The name of the event, for instance 'data'
listener The listener to call when this event is received
No return value (undefined)
This function is used in the following places in Espruino's documentation
function Object.removeAllListeners(event)
Removes all listeners, or those of the specified event.
event The name of the event, for instance 'data'
No return value (undefined)
function Object.toString(radix)
Convert the Object to a string
radix If the object is an integer, the radix (between 2 and 36) to use. NOTE: Setting a radix does not work on floating point numbers.
A String representing the object
This function is used in the following places in Espruino's documentation
function Object.valueOf()
Returns the primitive value of this object.
No parameters
The primitive value of this object
This class provides a software-defined OneWire master. It is designed to be similar to Arduino's OneWire library.
new OneWire(pin)
Create a software OneWire implementation on the given pin
pin The pin to implement OneWire on
A OneWire object
function OneWire.read(count)
Read a byte
count (optional) The amount of bytes to read
The byte that was read, or a Uint8Array if count was specified and >=0
function OneWire.reset()
Perform a reset cycle
No parameters
True is a device was present (it held the bus low)
function OneWire.search()
Search for devices
No parameters
An array of devices that were found
This function is used in the following places in Espruino's documentation
function OneWire.search(command)
Search for devices
command (Optional) command byte. If not specified (or zero), this defaults to 0xF0. This can could be set to 0xEC to perform a DS18B20 'Alarm Search Command'
An array of devices that were found
This function is used in the following places in Espruino's documentation
function OneWire.select(rom)
Select a ROM - reset needs to be done first
rom The device to select (get this using OneWire.search()
)
No return value (undefined)
function OneWire.skip()
Skip a ROM
No parameters
No return value (undefined)
function OneWire.write(data, power)
Write one or more bytes
data A byte (or array of bytes) to write
power Whether to leave power on after write (default is false)
No return value (undefined)
This is the built-in class for Pins, such as D0,D1,LED1, or BTN
You can call the methods on Pin, or you can use Wiring-style functions such as digitalWrite
new Pin(value)
Creates a pin from the given argument (or returns undefined if no argument)
value A value to be converted to a pin. Can be a number, pin, or String.
A Pin object
function Pin.read()
Returns the input state of the pin as a boolean
No parameters
Whether pin is a logical 1 or 0
function Pin.reset()
Sets the output state of the pin to a 0
No parameters
No return value (undefined)
function Pin.set()
Sets the output state of the pin to a 1
No parameters
No return value (undefined)
function Pin.write(value)
Sets the output state of the pin to the parameter given
value Whether to set output high (true/1) or low (false/0)
No return value (undefined)
function Pin.writeAtTime(value, time)
Sets the output state of the pin to the parameter given at the specified time. Note that this doesn't change the mode of the pin to an output. To do that, you need to use pin.write(0)
or pinMode(pin, 'output')
.
Note: This is only available in some devices: not devices with low flash memory
value Whether to set output high (true/1) or low (false/0)
time Time at which to write
No return value (undefined)
This class allows use of the built-in SPI ports. Currently it is SPI master only.
SPI1
The first SPI port
SPI2
The second SPI port
SPI3
The third SPI port
new SPI()
Create a software SPI port. This has limited functionality (no baud rate), but it can work on any pins.
No parameters
No return value (undefined)
function SPI.send(data, nss_pin)
Send data down SPI, and return the result
Sending multiple bytes in one call to send is preferable as they can then be transmitted end to end. Using multiple calls to send() will result in significantly slower transmission speeds.
data The data to send - either an integer, array, or string (which is the most efficient)
nss_pin An nSS pin - this will be lowered before SPI output and raised afterwards (optional). There will be a small delay between when this is lowered and when sending starts, and also between sending finishing and it being raised.
The data that was returned
This function is used in the following places in Espruino's documentation
function SPI.send4bit(data, bit0, bit1, nss_pin)
Send data down SPI, using 4 bits for each 'real' bit (MSB first). This can be useful for faking one-wire style protocols
Sending multiple bytes in one call to send is preferable as they can then be transmitted end to end. Using multiple calls to send() will result in significantly slower transmission speeds.
data The data to send - either an integer, array, or string
bit0 The 4 bits to send for a 0 (MSB first)
bit1 The 4 bits to send for a 1 (MSB first)
nss_pin An nSS pin - this will be lowered before SPI output and raised afterwards (optional). There will be a small delay between when this is lowered and when sending starts, and also between sending finishing and it being raised.
No return value (undefined)
This function is used in the following places in Espruino's documentation
function SPI.send8bit(data, bit0, bit1, nss_pin)
Send data down SPI, using 8 bits for each 'real' bit (MSB first). This can be useful for faking one-wire style protocols
Sending multiple bytes in one call to send is preferable as they can then be transmitted end to end. Using multiple calls to send() will result in significantly slower transmission speeds.
Note: This is only available in some devices: not devices with low flash memory
data The data to send - either an integer, array, or string
bit0 The 8 bits to send for a 0 (MSB first)
bit1 The 8 bits to send for a 1 (MSB first)
nss_pin An nSS pin - this will be lowered before SPI output and raised afterwards (optional). There will be a small delay between when this is lowered and when sending starts, and also between sending finishing and it being raised
No return value (undefined)
function SPI.setup(options)
Set up this SPI port as an SPI Master.
options An optional structure containing extra information on initialising the SPI port
Please note that baud rate is set to the nearest that can be managed - which may be -+ 50%
{sck:pin, miso:pin, mosi:pin, baud:integer=100000, mode:integer=0, order:'msb'/'lsb'='msb' }
If sck,miso and mosi are left out, they will automatically be chosen. However if one or more is specified then the unspecified pins will not be set up.
You can find out which pins to use by looking at your board's reference page and searching for pins with the SPI
marker.
The SPI
mode
is between 0 and 3 - see http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus#Clock_polarity_and_phase
On STM32F1-based parts, you cannot mix AF and non-AF pins (SPI pins are usually grouped on the chip - and you can't mix pins from two groups). Espruino will not warn you about this.
No return value (undefined)
This function is used in the following places in Espruino's documentation
function SPI.write(data, ...)
Write a character or array of characters to SPI - without reading the result back
data, ... One or more items to write. May be ints, strings, arrays, or objects of the form {data: ..., count:#}
.
If the last argument is a pin, it is taken to be the NSS pin
No return value (undefined)
This class allows use of the built-in USARTs
Methods may be called on the USB, Serial1, Serial2, Serial3, Serial4, Serial5 and Serial6 objects. While different processors provide different numbers of USARTs, you can always rely on at least Serial1 and Serial2
LoopbackA
A loopback serial device. Data sent to LoopbackA comes out of LoopbackB and vice versa
LoopbackB
A loopback serial device. Data sent to LoopbackA comes out of LoopbackB and vice versa
Serial1
The first Serial (USART) port
Serial2
The second Serial (USART) port
Serial3
The third Serial (USART) port
Serial4
The fourth Serial (USART) port
Serial5
The fifth Serial (USART) port
Serial6
The sixth Serial (USART) port
USB
The USB Serial port
function Serial.available()
Return how many bytes are available to read. If there is already a listener for data, this will always return 0.
No parameters
How many bytes are available
Serial.on('data', function(data) { ... });
The 'data' event is called when data is received. If a handler is defined with X.on('data', function(data) { ... })
then it will be called, otherwise data will be stored in an internal buffer, where it can be retrieved with X.read()
data A string containing one or more characters of received data
No return value (undefined)
function Serial.onData(function)
Serial.onData(func) has now been replaced with the event Serial.on(data
, func)
function
No return value (undefined)
function Serial.pipe(destination, options)
Pipe this USART to a stream (an object with a 'write' method)
Note: This is only available in some devices: not devices with low flash memory
destination The destination file/stream that will receive content from the source.
options An optional object { chunkSize : int=32, end : bool=true, complete : function }
chunkSize : The amount of data to pipe from source to destination at a time
complete : a function to call when the pipe activity is complete
end : call the 'end' function on the destination when the source is finished
No return value (undefined)
function Serial.print(string)
Print a string to the serial port - without a line feed
string A String to print
No return value (undefined)
This function is used in the following places in Espruino's documentation
function Serial.println(string)
Print a line to the serial port (newline character sent are '
')
string A String to print
No return value (undefined)
function Serial.read(chars)
Return a string containing characters that have been received
chars The number of characters to read, or undefined/0 for all available
A string containing the required bytes.
function Serial.setConsole()
Set this Serial port as the port for the console
No parameters
No return value (undefined)
function Serial.setup(baudrate, options)
Setup this Serial port with the given baud rate and options.
If not specified in options, the default pins are used (usually the lowest numbered pins on the lowest port that supports this peripheral)
baudrate The baud rate - the default is 9600
options An optional structure containing extra information on initialising the serial port.
{rx:pin,tx:pin,bytesize:8,parity:null/'none'/'o'/'odd'/'e'/'even',stopbits:1,flow:null/undefined/'none'/'xon'}
You can find out which pins to use by looking at your board's reference page and searching for pins with the UART
/USART
markers.
Note that even after changing the RX and TX pins, if you have called setup before then the previous RX and TX pins will still be connected to the Serial port as well - until you set them to something else using digitalWrite
No return value (undefined)
This function is used in the following places in Espruino's documentation
function Serial.write(data, ...)
Write a character or array of characters to the serial port - without a line feed
data, ... One or more items to write. May be ints, strings, arrays, or objects of the form {data: ..., count:#}
.
No return value (undefined)
The socket server created by require('net').createServer
function Server.close()
Stop listening for new connections
No parameters
No return value (undefined)
function Server.listen(port)
Start listening for new connections on the given port
port The port to listen on
No return value (undefined)
An actual socket connection - allowing transmit/receive of TCP data
function Socket.available()
Return how many bytes are available to read. If there is already a listener for data, this will always return 0.
No parameters
How many bytes are available
Socket.on('close', function() { ... });
Called when the connection closes.
No parameters
No return value (undefined)
Socket.on('data', function(data) { ... });
The 'data' event is called when data is received. If a handler is defined with X.on('data', function(data) { ... })
then it will be called, otherwise data will be stored in an internal buffer, where it can be retrieved with X.read()
data A string containing one or more characters of received data
No return value (undefined)
Socket.on('drain', function() { ... });
An event that is fired when the buffer is empty and it can accept more data to send.
No parameters
No return value (undefined)
function Socket.end(data)
Close this socket - optional data to append as an argument
data A string containing data to send
No return value (undefined)
function Socket.pipe(destination, options)
Pipe this to a stream (an object with a 'write' method)
Note: This is only available in some devices: not devices with low flash memory
destination The destination file/stream that will receive content from the source.
options An optional object { chunkSize : int=32, end : bool=true, complete : function }
chunkSize : The amount of data to pipe from source to destination at a time
complete : a function to call when the pipe activity is complete
end : call the 'end' function on the destination when the source is finished
No return value (undefined)
function Socket.read(chars)
Return a string containing characters that have been received
chars The number of characters to read, or undefined/0 for all available
A string containing the required bytes.
function Socket.write(data)
data A string containing data to send
For note compatibility, the boolean false. When the send buffer is empty, a drain
event will be sent
This is the built-in class for Text Strings.
Text Strings in Espruino are not zero-terminated, so you can store zeros in them.
new String(str, ...)
Create a new String
str, ... A value to turn into a string. If undefined or not supplied, an empty String is created.
A String
function String.charAt(pos)
Return a single character at the given position in the String.
pos The character number in the string. Negative values return characters from end of string (-1 = last char)
The character in the string
function String.charCodeAt(pos)
Return the integer value of a single character at the given position in the String.
Note that this returns 0 not 'NaN' for out of bounds characters
pos The character number in the string. Negative values return characters from end of string (-1 = last char)
The integer value of a character in the string
String.fromCharCode(code, ...)
Return the character(s) represented by the given character code(s).
code, ... One or more character codes to create a string from (range 0-255).
The character
This function is used in the following places in Espruino's documentation
function String.indexOf(substring, fromIndex)
Return the index of substring in this string, or -1 if not found
substring The string to search for
fromIndex Index to search from
The index of the string, or -1 if not found
This function is used in the following places in Espruino's documentation
function String.lastIndexOf(substring, fromIndex)
Return the last index of substring in this string, or -1 if not found
substring The string to search for
fromIndex Index to search from
The index of the string, or -1 if not found
property String.length
Find the length of the string
No parameters
The value of the string
function String.replace(subStr, newSubStr)
Search and replace ONE occurrance of subStr
with newSubStr
and return the result. This doesn't alter the original string. Regular expressions not supported.
subStr The string to search for
newSubStr The string to replace it with
This string with subStr
replaced
function String.slice(start, end)
start The start character index, if negative it is from the end of the string
end The end character index, if negative it is from the end of the string, and if omitted it is the end of the string
Part of this string from start for len characters
function String.split(separator)
Return an array made by splitting this string up by the separator. eg.
'1,2,3'.split(',')==[1,2,3]
separator The start character index
Part of this string from start for len characters
function String.substr(start, len)
start The start character index
len The number of characters
Part of this string from start for len characters
function String.substring(start, end)
start The start character index
end The end character index
The part of this string between start and end
function String.toLowerCase()
The lowercase version of this string
function String.toUpperCase()
The uppercase version of this string
The base class for syntax errors
new SyntaxError(message)
Creates a SyntaxError object
message An optional message string
A SyntaxError object
function SyntaxError.toString()
No parameters
A String
This class exists in order to interface Espruino with fast-moving trigger wheels. Trigger wheels are physical discs with evenly spaced teeth cut into them, and often with one or two teeth next to each other missing. A sensor sends a signal whenever a tooth passed by, and this allows a device to measure not only RPM, but absolute position.
This class is currently in testing - it is NOT AVAILABLE on normal boards.
Trig.getErrorArray()
Get the current error flags from the trigger wheel - and zero them
No parameters
An array of error strings
Trig.getErrors()
Get the current error flags from the trigger wheel - and zero them
No parameters
The error flags
Trig.getPosAtTime(time)
Get the position of the trigger wheel at the given time (from getTime)
time The time at which to find the position
The position of the trigger wheel in degrees - as a floating point number
Trig.getRPM()
Get the RPM of the trigger wheel
No parameters
The current RPM of the trigger wheel
Trig.getTrigger(num)
Get the current state of a trigger
num The trigger number (0..7)
A structure containing all information about the trigger
Trig.killTrigger(num)
Disable a trigger
num The trigger number (0..7)
No return value (undefined)
Trig.setTrigger(num, pos, pins, pulseLength)
Set a trigger for a certain point in the cycle
num The trigger number (0..7)
pos The position (in degrees) to fire the trigger at
pins An array of pins to pulse (max 4)
pulseLength The time (in msec) to pulse for
No return value (undefined)
Trig.setup(pin, options)
Initialise the trigger class
pin The pin to use for triggering
options Additional options as an object. defaults are:
{teethTotal:60,teethMissing:2,minRPM:30,keyPosition:0}
No return value (undefined)
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Uint16Array(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Uint32Array(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Uint8Array(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
This function is used in the following places in Espruino's documentation
This is the built-in JavaScript class for a typed array.
Instantiate this in order to efficiently store arrays of data (Espruino's normal arrays store data in a map, which is inefficient for non-sparse arrays).
new Uint8ClampedArray(arr, byteOffset, length)
Create a typed array based on the given input. Either an existing Array Buffer, an Integer as a Length, or a simple array. If an ArrayBuffer view (eg. Uint8Array rather than ArrayBuffer) is given, it will be completely copied rather than referenced.
Clamped arrays clamp their values to the allowed range, rather than 'wrapping'. e.g. after a[0]=12345;
, a[0]==255
.
arr The array or typed array to base this off, or an integer which is the array length
byteOffset The byte offset in the ArrayBuffer (ONLY IF the first argument was an ArrayBuffer)
length The length (ONLY IF the first argument was an ArrayBuffer)
A typed array
Library for communication with the WIZnet Ethernet module
WIZnet.connect(spi, cs)
Initialise the WIZnet module and return an Ethernet object
spi Device to use for SPI (or undefined to use the default)
cs The pin to use for Chip Select
An Ethernet Object
An instantiation of a WiFi network adaptor
function WLAN.connect(ap, key, callback)
Connect to a wireless network
ap Access point name
key WPA2 key (or undefined for unsecured connection)
callback Function to call back with connection status. It has one argument which is one of 'connect'/'disconnect'/'dhcp'
True if connection succeeded, false if it didn't.
function WLAN.disconnect()
Completely uninitialise and power down the CC3000. After this you'll have to use
require("CC3000").connect()
again.
No parameters
No return value (undefined)
function WLAN.getIP()
Get the current IP address
No parameters
See description above
function WLAN.reconnect()
Completely uninitialise and power down the CC3000, then reconnect to the old access point.
No parameters
No return value (undefined)
function WLAN.setIP(options)
Set the current IP address for get an IP from DHCP (if no options object is specified).
**Note:** Changes are written to non-volatile memory, but will only take effect after calling wlan.reconnect()
options Object containing IP address options { ip : '1,2,3,4', subnet, gateway, dns }
, or do not supply an object in otder to force DHCP.
True on success
This class handles waveforms. In Espruino, a Waveform is a set of data that you want to input or output.
new Waveform(samples, options)
Create a waveform class. This allows high speed input and output of waveforms. It has an internal variable called buffer
(as well as buffer2
when double-buffered - see options
below) which contains the data to input/output.
When double-buffered, a 'buffer' event will be emitted each time a buffer is finished with (the argument is that buffer). When the recording stops, a 'finish' event will be emitted (with the first argument as the buffer).
Note: This is only available in some devices: not devices with low flash memory
samples The number of samples
options Optional options struct {doubleBuffer:bool, bits : 8/16}
where: doubleBuffer
is whether to allocate two buffers or not (default false), and bits is the amount of bits to use (default 8).
An Waveform object
function Waveform.startInput(output, freq, options)
Will start inputting the waveform on the given pin that supports analog. If not repeating, it'll emit a finish
event when it is done.
Note: This is only available in some devices: not devices with low flash memory
output The pin to output on
freq The frequency to output each sample at
options Optional options struct {time:float,repeat:bool}
where: time
is the that the waveform with start output at, e.g. getTime()+1
(otherwise it is immediate), repeat
is a boolean specifying whether to repeat the give sample
No return value (undefined)
function Waveform.startOutput(output, freq, options)
Will start outputting the waveform on the given pin - the pin must have previously been initialised with analogWrite. If not repeating, it'll emit a finish
event when it is done.
Note: This is only available in some devices: not devices with low flash memory
output The pin to output on
freq The frequency to output each sample at
options Optional options struct {time:float,repeat:bool}
where: time
is the that the waveform with start output at, e.g. getTime()+1
(otherwise it is immediate), repeat
is a boolean specifying whether to repeat the give sample
No return value (undefined)
function Waveform.stop()
Stop a waveform that is currently outputting
Note: This is only available in some devices: not devices with low flash memory
No parameters
No return value (undefined)
An Object that contains functions for writing to the interactive console
console.log(text, ...)
Print the supplied string(s) to the console
**Note:** If you're connected to a computer (not a wall adaptor) via USB but **you are not running a terminal app** then when you print data Espruino may pause execution and wait until the computer requests the data it is trying to print.
text, ... One or more arguments to print
No return value (undefined)
This function is used in the following places in Espruino's documentation
This library handles interfacing with a FAT32 filesystem on an SD card. The API is designed to be similar to node.js's - However Espruino does not currently support asynchronous file IO, so the functions behave like node.js's xxxxSync functions. Versions of the functions with 'Sync' after them are also provided for compatibility.
Currently this provides minimal file IO - it's great for logging and loading/saving settings, but not good for loading large amounts of data as you will soon fill your memory up.
It is currently only available on boards that contain an SD card slot, such as the Olimexino and the HY. It can not currently be added to boards that did not ship with a card slot.
To use this, you must type
var fs = require('fs')
to get access to the library
fs.appendFile(path, data)
Append the data to the given file, created a new file if it doesn't exist
NOTE: Espruino does not yet support Async file IO, so this function behaves like the 'Sync' version.
path The path of the file to write
data The data to write to the file
True on success, false on failure
fs.appendFileSync(path, data)
Append the data to the given file, created a new file if it doesn't exist
Note: This is only available in some devices: not devices with low flash memory
path The path of the file to write
data The data to write to the file
True on success, false on failure
fs.pipe(source, destination, options)
source The source file/stream that will send content.
destination The destination file/stream that will receive content from the source.
options An optional object { chunkSize : int=64, end : bool=true, complete : function }
chunkSize : The amount of data to pipe from source to destination at a time
complete : a function to call when the pipe activity is complete
end : call the 'end' function on the destination when the source is finished
No return value (undefined)
fs.readFile(path)
Read all data from a file and return as a string
NOTE: Espruino does not yet support Async file IO, so this function behaves like the 'Sync' version.
path The path of the file to read
A string containing the contents of the file (or undefined if the file doesn't exist)
fs.readFileSync(path)
Read all data from a file and return as a string.
**Note:** The size of files you can load using this method is limited by the amount of available RAM. To read files a bit at a time, see the File
class.
Note: This is only available in some devices: not devices with low flash memory
path The path of the file to read
A string containing the contents of the file (or undefined if the file doesn't exist)
fs.readdir(path)
List all files in the supplied directory, returning them as an array of strings.
NOTE: Espruino does not yet support Async file IO, so this function behaves like the 'Sync' version.
path The path of the directory to list. If it is not supplied, '' is assumed, which will list the root directory
An array of filename strings (or undefined if the directory couldn't be listed)
fs.readdirSync(path)
List all files in the supplied directory, returning them as an array of strings.
Note: This is only available in some devices: not devices with low flash memory
path The path of the directory to list. If it is not supplied, '' is assumed, which will list the root directory
An array of filename strings (or undefined if the directory couldn't be listed)
fs.statSync(path)
Return information on the given file. This returns an object with the following
fields:
size: size in bytes
dir: a boolean specifying if the file is a directory or not
mtime: A Date structure specifying the time the file was last modified
Note: This is only available in some devices: not devices with low flash memory
path The path of the file to get information on
An object describing the file, or undefined on failure
fs.unlink(path)
Delete the given file
NOTE: Espruino does not yet support Async file IO, so this function behaves like the 'Sync' version.
Note: This is only available in some devices: not devices with low flash memory
path The path of the file to delete
True on success, or false on failure
fs.unlinkSync(path)
Delete the given file
Note: This is only available in some devices: not devices with low flash memory
path The path of the file to delete
True on success, or false on failure
fs.writeFile(path, data)
Write the data to the given file
NOTE: Espruino does not yet support Async file IO, so this function behaves like the 'Sync' version.
path The path of the file to write
data The data to write to the file
True on success, false on failure
fs.writeFileSync(path, data)
Write the data to the given file
Note: This is only available in some devices: not devices with low flash memory
path The path of the file to write
data The data to write to the file
True on success, false on failure
**Note:** This library is currently only included in builds for the original Espruino boards.
For other boards you will have to make build your own firmware.
hashlib.sha224(message)
message message to hash
Returns a new HASH SHA224 Object
hashlib.sha256(message)
message message to hash
Returns a new HASH SHA256 Object
This library allows you to create http servers and make http requests
In order to use this, you will need an extra module to get network connectivity such as the TI CC3000 or WIZnet W5500.
This is designed to be a cut-down version of the node.js library. Please see the Internet page for more information on how to use it.
http.createServer(callback)
Create an HTTP Server
When a request to the server is made, the callback is called. In the callback you can use the methods on the response (httpSRs) to send data. You can also add request.on('data',function() { ... })
to listen for POSTed data
callback A function(request,response) that will be called when a connection is made
Returns a new httpSrv object
This function is used in the following places in Espruino's documentation
http.get(options, callback)
Create an HTTP Request - convenience function for
http.request()
. options.method
is set to 'get', and end is called automatically. See the Internet page for more usage examples.
options An object containing host,port,path,method fields
callback A function(res) that will be called when a connection is made. You can then call res.on('data', function(data) { ... })
and res.on('close', function() { ... })
to deal with the response.
Returns a new httpCRq object
This function is used in the following places in Espruino's documentation
http.request(options, callback)
Create an HTTP Request - end() must be called on it to complete the operation
options An object containing host,port,path,method fields
callback A function(res) that will be called when a connection is made. You can then call res.on('data', function(data) { ... })
and res.on('close', function() { ... })
to deal with the response.
Returns a new httpCRq object
The HTTP client request
httpCRq.on('drain', function() { ... });
An event that is fired when the buffer is empty and it can accept more data to send.
No parameters
No return value (undefined)
function httpCRq.end(data)
Finish this HTTP request - optional data to append as an argument
data A string containing data to send
No return value (undefined)
function httpCRq.write(data)
data A string containing data to send
For note compatibility, the boolean false. When the send buffer is empty, a drain
event will be sent
The HTTP client response
function httpCRs.available()
Return how many bytes are available to read. If there is already a listener for data, this will always return 0.
No parameters
How many bytes are available
httpCRs.on('close', function() { ... });
Called when the connection closes.
No parameters
No return value (undefined)
httpCRs.on('data', function(data) { ... });
The 'data' event is called when data is received. If a handler is defined with X.on('data', function(data) { ... })
then it will be called, otherwise data will be stored in an internal buffer, where it can be retrieved with X.read()
data A string containing one or more characters of received data
No return value (undefined)
function httpCRs.pipe(destination, options)
Pipe this to a stream (an object with a 'write' method)
Note: This is only available in some devices: not devices with low flash memory
destination The destination file/stream that will receive content from the source.
options An optional object { chunkSize : int=32, end : bool=true, complete : function }
chunkSize : The amount of data to pipe from source to destination at a time
complete : a function to call when the pipe activity is complete
end : call the 'end' function on the destination when the source is finished
No return value (undefined)
function httpCRs.read(chars)
Return a string containing characters that have been received
chars The number of characters to read, or undefined/0 for all available
A string containing the required bytes.
The HTTP server request
function httpSRq.available()
Return how many bytes are available to read. If there is already a listener for data, this will always return 0.
No parameters
How many bytes are available
httpSRq.on('close', function() { ... });
Called when the connection closes.
No parameters
No return value (undefined)
httpSRq.on('data', function(data) { ... });
The 'data' event is called when data is received. If a handler is defined with X.on('data', function(data) { ... })
then it will be called, otherwise data will be stored in an internal buffer, where it can be retrieved with X.read()
data A string containing one or more characters of received data
No return value (undefined)
function httpSRq.pipe(destination, options)
Pipe this to a stream (an object with a 'write' method)
Note: This is only available in some devices: not devices with low flash memory
destination The destination file/stream that will receive content from the source.
options An optional object { chunkSize : int=32, end : bool=true, complete : function }
chunkSize : The amount of data to pipe from source to destination at a time
complete : a function to call when the pipe activity is complete
end : call the 'end' function on the destination when the source is finished
No return value (undefined)
function httpSRq.read(chars)
Return a string containing characters that have been received
chars The number of characters to read, or undefined/0 for all available
A string containing the required bytes.
The HTTP server response
httpSRs.on('close', function() { ... });
Called when the connection closes.
No parameters
No return value (undefined)
httpSRs.on('drain', function() { ... });
An event that is fired when the buffer is empty and it can accept more data to send.
No parameters
No return value (undefined)
function httpSRs.end(data)
data A string containing data to send
No return value (undefined)
function httpSRs.write(data)
data A string containing data to send
For note compatibility, the boolean false. When the send buffer is empty, a drain
event will be sent
function httpSRs.writeHead(statusCode, headers)
statusCode The HTTP status code
headers An object containing the headers
No return value (undefined)
The HTTP server created by require('http').createServer
function httpSrv.close()
Stop listening for new HTTP connections
No parameters
No return value (undefined)
function httpSrv.listen(port)
Start listening for new HTTP connections on the given port
port The port to listen on
No return value (undefined)
This library allows you to create TCPIP servers and clients
In order to use this, you will need an extra module to get network connectivity.
This is designed to be a cut-down version of the node.js library. Please see the Internet page for more information on how to use it.
net.connect(options, callback)
Create a socket connection
options An object containing host,port fields
callback A function(res) that will be called when a connection is made. You can then call res.on('data', function(data) { ... })
and res.on('close', function() { ... })
to deal with the response.
Returns a new net.Socket object
net.createServer(callback)
Create a Server
When a request to the server is made, the callback is called. In the callback you can use the methods on the connection to send data. You can also add connection.on('data',function() { ... })
to listen for received data
callback A function(connection)
that will be called when a connection is made
Returns a new Server Object
This class contains information about Espruino itself
process.env
Returns an Object containing various pre-defined variables. standard ones are BOARD, VERSION
No parameters
An object
process.memory()
Run a Garbage Collection pass, and return an object containing information on memory usage.
free : Memory that is available to be used
usage : Memory that has been used
total : Total memory
history : Memory used for command history - that is freed if memory is low. Note that this is INCLUDED in the figure for 'free'
stackEndAddress : (on ARM) the address (that can be used with peek/poke/etc) of the END of the stack. The stack grows down, so unless you do a lot of recursion the bytes above this can be used.
Memory units are specified in 'blocks', which are around 16 bytes each (depending on your device). See http://www.espruino.com/Performance for more information.
No parameters
Information about memory usage
This function is used in the following places in Espruino's documentation
process.version
Returns the version of Espruino as a String
No parameters
The version of Espruino
This library provides TV out capability on the Espruino and Espruino Pico.
See the [[Television]] page for more information.
tv.setup(options, width)
This initialises the TV output. Options for PAL are as follows:
var g = require('tv').setup({ type : "pal",
video : A7, // Pin - SPI MOSI Pin for Video output (MUST BE SPI1)
sync : A6, // Pin - Timer pin to use for video sync
width : 384,
height : 270, // max 270
});
and for VGA:
var g = require('tv').setup({ type : "vga",
video : A7, // Pin - SPI MOSI Pin for Video output (MUST BE SPI1)
hsync : A6, // Pin - Timer pin to use for video sync
vsync : A5, // Pin - pin to use for video sync
width : 220,
height : 480,
});
See the [[Television]] page for more information.
options Various options for the TV output
width
A graphics object
This class helps to convert URLs into Objects of information ready for http.request/get
url.parse(urlStr, parseQuery)
A utility function to split a URL into parts
This is useful in web servers for instance when handling a request.
For instance url.parse("/a?b=c&d=e",true)
returns {"method":"GET","host":"","path":"/a?b=c&d=e","pathname":"/a","search":"?b=c&d=e","port":80,"query":{"b":"c","d":"e"}}
urlStr A URL to be parsed
parseQuery Whether to parse the query string into an object not (default = false)
An object containing options for
http.request
or
http.get
. Contains method
, host
, path
, pathname
, search
, port
and query
This function is used in the following places in Espruino's documentation