Skip to main content

GR-CITRUS Special Program: Class and Method Simplified Charts

Kernal Class

Syntax Overview Argument Return Value
pinMode(pin, mode) Pin mode setting pin: Pin number
mode: Set the following values:
0 (INPUT)
1 (OUTPUT)
2 (INPUT_PULLUP)
3 (OUTPUT_OPENDRAIN)
Version
digitalWrite(pin, value) Set pin output to 0 or 1 pin: Pin number
value: 0 or 1
None
digitalRead(pin) Check whether pin input is 0 or 1 pin: Pin number 0 or 1
analogRead(pin) Confirm analog value of pin pin: Pin number (14, 15, 16, 17) 0 to 675 (3.3V)
Input mode can be specified in analogReference, as described below.
analogReference(mode) Specify analogRead input mode mode: Select from the following:
0: 5.0V ref.
1: 1.1V ref. (built-in voltage)
2: 3.3V ref.
3: 3.3V ref., 12-bit resolution (0 to 4096)
None
pwm(pin, value) PWM output from pin (490Hz) pin: Pin number
value: PWM rate 0 to 255
None
initDac() Initialize DA converter None None
analogDac(value) Output analog value from DAC pin 0 to 4096 (3.3V) None
led(value) Set LED output value: 0(OFF) or 1(ON) None
delay(value) Wait for specified time value: Time ((ms)) None
millis() Count time period in millisecond from system startup. Overflows and returns to 0 after about 50 days. None Milliseconds
micros() Count time period in microseconds from system startup. Overflows and returns to 0 after about 1 week. None Microseconds
tone(pin, frequency[, duration) Output tone signal used for piezoelectric sounder, etc. pin: Pin number, frequency, duration, output time (option) None
noTone(pin) Stop tone signal output pin: Pin number None
randomSeed(value) Set random seed value: The value to be used as the random seed None
random([min,] max) Get random count min: Minimum value (option),
max: Maximum value
Random

System Class

Syntax Overview Argument Return Value
System.version([R]) Get system version Any value Version
System.exit() End program. If the program was set by System.setrun, that program will be executed. None None
System.setrun(file) Set next program to be executed. file name: mrb None
System.push(address, buf, length) Store value in flash memory. The value will not be erased even when the power is turned off. address: Start address (0 to 255)
buf: Write data
length: Data length (Max. 32 bytes)
0: Failure, 1: Success
System.pop(address, length) Get value from flash memory address: Start address (0 to 255)
length: Data length (Max. 32 bytes)
Amount of data retrieved
System.useSD() Set to enable use of SD card None 0: Invalid, 1: Valid
System.useWiFi() Set to enable use of WA-MIKAN (ESP8266 board) None 0: Invalid, 1: Valid
System.getMrbPath() Get file path of mrb now running None File path (file name)

Serial Class

This class generates and uses an instance for each communication port.

Syntax Overview Argument Return Value
serial.new(num,bps) Serial communication initialization num: Communication port to be initialized (TX/RX)
0: USB, 1: 0/1, 2: 5/6, 3: 7/8, 4: 12/11
bps: Baud rate
Serial instance
serial.print([str]) Output to serial port str: Output string None
serial.println([str]) Output to serial port with line break
Line break: \r\n
str: Output string
When omitted, only line break
None
serial.write(buf, len) Data output buf: Output data string, len: Data count Output data count
serial.flush() Wait until transmission is completed None None
serial.available() Check if receive data is available None Number of bytes of data
0: No data
serial.read() Get data None String or receive data

I2C Class

This class generates and uses an instance for each communication port.

Syntax Overview Argument Return Value
i2c.new(num) I2C communication initialization num: Communication port to be initialized (SDA/SCL)
0: 18/19, 1: 0/1, 2: 5/6, 3: 7/8, 4:12/11
I2C instance
i2c.begin(address) Start I2C write preparation address: Device 7-bit address None
i2c.lwrite(data) Write to I2C write buffer data: Data None
i2c.end() Execute prepared I2C write communication None None
i2c.request(address, count) Execute a read request to the device address: 7-bit address
count: Data count
Receive data count
i2c.available() Check if receive data is available None Receive data count
0: None
i2c.lread() Get receive data None Receive data
i2c.write(address, reg, data) Write 1 byte to the device specified address (execute begin, lwrite, end) address: 7-bit address
reg: Write address in device
data: Data
Always 0
i2c.read(address, regL[, regH]) Read data from device specified address (execute write, request, read) address: 7-bit address
regL: Read lower address
regH: Read upper address (option)
Read data

Servo Class

Syntax Overview Argument Return Value
Servo.attach(ch, pin [, min, max] ) Assign output pin to servo motor to specified channel ch: Any channel (0 to 9)
pin: Any pin
min: Pulse width at 0 degrees (default = 544µs) (option)
max: Pulse width at 180 degrees (default = 2400µs) (option)
I2C instance
Servo.write(ch, angle) Set angle ch: Channel (0 to 9)
angle: 0 to 180
None
Servo.read(ch) Get current angle ch: Channel (0 to 9) Angle
Servo.us(ch, us) Set angle with pulse width ch: Channel (0 to 9)
us: 0 to 19999
None
Servo.attached(ch) Check if servo is assigned to channel ch: Channel (0 to 9) 0: Not assigned
1: Assigned
Servo.detach(ch) Release servo assignment ch: Channel (0 to 9) None

Rtc Class

Syntax Overview Argument Return Value
Rtc.init() Start real time clock None 0: Failure
1: Success
Rtc.deinit() Stop real time clock None 0: Failure
1: Success
Rtc.setTime(array) Set time array: year (0000-9999), month (1-12), date (1-31), hour (0-23), minute (0-59), second (0-59) 0: Failure
1: Success
Rtc.getTime() Get time None The following array:
year: (2000-2099)
month: (1-12)
day: (1-31)
hour: (0-23)
minute: (0-59)
second: (0-59)
weekday: (0-6) 0: SUN, 1: MON, 2: TUES, 3: WED, 4: THUR, 5: FRI, 6: SAT

SD Class

System.useSD() must be called before using this class.

Syntax Overview Argument Return Value
SD.open(number, filename[, mode]) Open the file number: Any file number (0 or 1)
filename: File name (8.3 format)
mode: 0: Read, 1: Append, 2: New Create
File number
-1 = Failure
SD.close(number) Close the file number: File number None
SD.seek(number, byte) Move to the position in the file to be read number: File number
byte: Move toward end of file for the number of bytes (-1) required by seek
0: Failure
1: Success
SD.read(number) Read from the file number: File number Data (bytes)
If position is the end of the file, -1 is returned.
SD.write(number,buf,len ) Write to the file number: File number
buf: Data buffer
len: Data count
Number of data written
SD.flush(number) Wait for write operation to complete number: File number None
SD.size(number) Get file size number: File number Size
SD.position(number) Get read/write position number: File number Position
SD.mkdir(dirname) Create directory dirname: Name of directory to be created 0: Failure
1: Success
SD.rmdir(dirname) Delete directory dirname: Name of directory to be deleted 0: Failure
1: Success
SD.remove(filename) Delete file filename: Name of file to be deleted 0: Failure
1: Success
SD.copy(srcfilename, distfilename) Copy file srcfilename: Name of source file to be copied
distfilename: Name of destination file to be copied to
0: Failure
1: Success
SD.exists(filename) Check if file exists filename: Name of file to be checked 0: No file
1: File exists

WiFi Class

Syntax Overview Argument Return Value
WiFi.setMode(mode) Set station mode mode:
1: Station
2: SoftAP
3: Station + SoftAP1
ESP8266 return value
WiFi.ipconfig() Display IP address and MAC address None ESP8266 return value
WiFi.connect(SSID, Passwd) Connect to WiFi access point SSID: WiFi SSID
Passwd: Password
ESP8266 return value
WiFi.multiConnect(mode) Set mode for multiple connections mode:
0: Connect 1 only1
1: Connect up to 4
ESP8266 return value
WiFi.disconnect() Disconnect WiFi None ESP8266 return value
WiFi.httpGetSD(Filename, URL[, Headers]) Store http GET results on SD card Filename: Name of file to be stored
URL: URL
Headers: An array of character strings to be added to header
0: Failure
1: Success
2: SD card use invalid
3: Couldn’t open transmit data file
4: Couldn’t read transmit data size
5: Couldn’t read transmit data file
6: Couldn’t open receive data file
7: Failure to create received file
WiFi.httpGet(URL[, Headers]) Transmit http GET protocol.
Only transmit, do not receive.
URL: URL
Headers: An array of character strings to be added to header
0: Failure
1: Success
WiFi.httpPost(URL, Header, Body) Transmit http POST protocol URL: URL
Header: An array of character strings to be added to header
Body: An array of character strings to be added to body
0: Failure
1: Success
WiFi.httpServer([port]) Start http server; SD card is required port: The number of the port waiting for data; if -1 is specified, the server stops. One of the following values is returned depending on access availability:
0: No access
1: Access available
2: Cannot use SD card
3: Failed to access SD card

For access from client:
GET: Path
Other than GET: First line of header
WiFi.udpOpen(number, IPAddress, SendPort, ReceivePort) Start UDP connection number: Connection number (1 to 4)
IPAddress: Communication destination address
SendPort: Communication port number
ReceivePort: Receive port number
ESP8266 return value
WiFi.send(number, Data[, length]) Transmit data to specified connection number number: Connection number (1 to 4)
Data: Data to be transmitted
length: Size of data to be transmitted
Transmit data size
WiFi.recv(number) Receive data from specified connection number number: Connection number (1 to 4) Array of received data; must be 256 or less
WiFi.cClose(number) Close TCP/UDP connection number: Connection number (1 to 4) ESP8266 return value
WiFi.bypass() Direct serial connection between USB port and ESP8266.
Processing does not return until reset occurs.
None None
WiFi.serialOut(mode[, serialNumber]) Set serial number for serial output to ESP8266 mode:
0: No output
1: Output
serialNumber: Serial number of output destination
None
WiFi.at(command[, mode]) Transmit AT command to ESP8266 command: AT command string
mode:
0: Automatically add 'AT+'
1: Do not automatically add 'AT+'
ESP8266 return value