c++/rgb-assembler/commands.h
author František Kučera <franta-hg@frantovo.cz>
Sun, 24 Dec 2017 00:17:12 +0100
changeset 28 2b2f8a17d63a
child 29 10d6964e7b4a
permissions -rw-r--r--
move standard commands (codes) to a header file
franta-hg@28
     1
#pragma once
franta-hg@28
     2
franta-hg@28
     3
// Standard commands
franta-hg@28
     4
franta-hg@28
     5
/**
franta-hg@28
     6
 * Skip to the given address.
franta-hg@28
     7
 * parameter: address_t
franta-hg@28
     8
 */
franta-hg@28
     9
const command_t CMD_GOTO = 0x70;
franta-hg@28
    10
franta-hg@28
    11
/**
franta-hg@28
    12
 * Compare values on two addresses and go to one of given three addresses.
franta-hg@28
    13
 * parameter: address_t a
franta-hg@28
    14
 * parameter: address_t b
franta-hg@28
    15
 * parameter: address_t GOTO target when a == b
franta-hg@28
    16
 * parameter: address_t GOTO target when a > b
franta-hg@28
    17
 * parameter: address_t GOTO target when a < b
franta-hg@28
    18
 */
franta-hg@28
    19
const command_t CMD_GOTO_COMPARE = 0x80;
franta-hg@28
    20
franta-hg@28
    21
/**
franta-hg@28
    22
 * Wait given time in ms.
franta-hg@28
    23
 * parameter: sleep_t
franta-hg@28
    24
 */
franta-hg@28
    25
const command_t CMD_SLEEP = 0xFF;
franta-hg@28
    26
franta-hg@28
    27
/**
franta-hg@28
    28
 * Set RGB LED color.
franta-hg@28
    29
 * parameter: led_t LED number
franta-hg@28
    30
 * parameter: color_t red
franta-hg@28
    31
 * parameter: color_t green
franta-hg@28
    32
 * parameter: color_t blue
franta-hg@28
    33
 */
franta-hg@28
    34
const command_t CMD_COLOR = 0xAA;
franta-hg@28
    35
franta-hg@28
    36
/**
franta-hg@28
    37
 * Stop program.
franta-hg@28
    38
 */
franta-hg@28
    39
const command_t CMD_END = 0xED;
franta-hg@28
    40
franta-hg@28
    41
/**
franta-hg@28
    42
 * Increase value at given address
franta-hg@28
    43
 * parameter: address_t
franta-hg@28
    44
 */
franta-hg@28
    45
const command_t CMD_INCREMENT = 0x11;
franta-hg@28
    46
franta-hg@28
    47
/**
franta-hg@28
    48
 * Decrease value at given address
franta-hg@28
    49
 * parameter: address_t
franta-hg@28
    50
 */
franta-hg@28
    51
const command_t CMD_DECREMENT = 0x12;
franta-hg@28
    52
franta-hg@28
    53
/**
franta-hg@28
    54
 * Placeholder for unsupported command.
franta-hg@28
    55
 * Just for testing.
franta-hg@28
    56
 */
franta-hg@28
    57
const command_t CMD_INVALID = 0x1;
franta-hg@28
    58
franta-hg@28
    59
// TODO: more commands, better numbers