diff --git a/.gitignore b/.gitignore index 84fa302..47bdf1f 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,7 @@ firmware/ja-rule.X/dist/number8/ firmware/ja-rule.X/nbproject/Makefile* firmware/ja-rule.X/nbproject/Package* firmware/ja-rule.X/nbproject/private/ +user_manual/doxygen_entrydb_*.tmp +user_manual/doxygen_objdb_*.tmp +user_manual/doxygen_sqlite3.db +user_manual/html/ diff --git a/Doxyfile b/Doxyfile index 619c0cb..ce8aa45 100644 --- a/Doxyfile +++ b/Doxyfile @@ -664,7 +664,7 @@ INPUT = Bootloader/firmware/src \ doxygen/memory.md \ doxygen/controller.md \ doxygen/responder.md \ - doxygen/rdm_models.md \ + doxygen/rdm-models.md \ doxygen/reference-design.md \ doxygen/message-format.md \ doxygen/mplab-setup.md \ diff --git a/data/rdm/stellascapes_lightwidgets_number1.proto b/data/rdm/stellascapes_lightwidgets_number1.proto new file mode 100644 index 0000000..c7c6668 --- /dev/null +++ b/data/rdm/stellascapes_lightwidgets_number1.proto @@ -0,0 +1,124 @@ +manufacturer { + manufacturer_id: 11720 + manufacturer_name: "Stellascapes" + pid { + name: "MODEL_ID" + value: 32770 + get_request { + } + get_response { + field { + type: UINT16 + name: "model_id" + } + } + get_sub_device_range: ROOT_DEVICE + set_request { + field { + type: UINT16 + name: "model_id" + } + } + set_response { + } + set_sub_device_range: ROOT_DEVICE + } + pid { + name: "MODEL_ID_LIST" + value: 32771 + get_request { + } + get_response { + field { + type: GROUP + name: "models" + field { + type: UINT16 + name: "model_id" + } + } + } + get_sub_device_range: ROOT_DEVICE + } + pid { + name: "PIXEL_TYPE" + value: 32773 + get_request { + } + get_response { + field { + type: UINT16 + name: "pixel_type" + label { + value: 1 + label: "LPD8806" + } + label { + value: 2 + label: "WS2801" + } + label { + value: 3 + label: "P9813" + } + label { + value: 4 + label: "APA102" + } + } + } + get_sub_device_range: ROOT_DEVICE + set_request { + field { + type: UINT16 + name: "pixel_type" + label { + value: 1 + label: "LPD8806" + } + label { + value: 2 + label: "WS2801" + } + label { + value: 3 + label: "P9813" + } + label { + value: 4 + label: "APA102" + } + } + } + set_response { + } + set_sub_device_range: ROOT_DEVICE + } + pid { + name: "PIXEL_COUNT" + value: 32774 + get_request { + } + get_response { + field { + type: UINT16 + name: "pixel_count" + } + } + get_sub_device_range: ROOT_DEVICE + set_request { + field { + type: UINT16 + name: "pixel_count" + range { + min: 1 + max: 65535 + } + } + } + set_response { + } + set_sub_device_range: ROOT_DEVICE + } +} +version: 1455748169 diff --git a/doxygen/rdm_models.md b/doxygen/rdm-models.md similarity index 100% rename from doxygen/rdm_models.md rename to doxygen/rdm-models.md diff --git a/doxygen/usb-logging.md b/doxygen/usb-logging.md deleted file mode 100644 index cb3234d..0000000 --- a/doxygen/usb-logging.md +++ /dev/null @@ -1,22 +0,0 @@ -USB Logging {#usb-logging} -======================= - -[TOC] - -# Overview {#usb-logging-overview} - -Ja Rule devices provide a serial console over the USB port. This allows a -user to connect using a [terminal emulator]( -https://en.wikipedia.org/wiki/Terminal_emulation) -such as [minicom](http://linux.die.net/man/1/minicom) (Unix) or -[PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) -(Windows). - -The settings are 8N1, at 9600 baud. - -The console provides different log levels. The +/- keys can be used to -increase / decrease the log level. Press the 'h' key to see a list of -commands. - -To log messages to the console, use SysLog_Message() and SysLog_Print(). -This should not be called within interrupt context. diff --git a/doxygen/usb-logging.md b/doxygen/usb-logging.md new file mode 120000 index 0000000..e28df07 --- /dev/null +++ b/doxygen/usb-logging.md @@ -0,0 +1 @@ +../user_manual/docs/usb-logging.md \ No newline at end of file diff --git a/firmware/src/syslog.h b/firmware/src/syslog.h index 35600bd..aaf6c06 100644 --- a/firmware/src/syslog.h +++ b/firmware/src/syslog.h @@ -32,6 +32,11 @@ * The low level implementation is determined by the callback function passed * to SysLog_Initialize (or via PIPELINE_LOG_WRITE). * + * To log messages to the console, use SysLog_Message() and SysLog_Print(). + * This should not be called within interrupt context. + * + * For information on viewing the console, see @ref usb-logging. + * * @addtogroup logging * @{ * @file syslog.h @@ -80,6 +85,7 @@ void SysLog_Initialize(SysLogWriteFn write_fn); * @brief Log a message. * @param level the log level of the message * @param msg the message to log. + * @note This should not be called within interrupt context. */ void SysLog_Message(SysLogLevel level, const char* msg); @@ -87,6 +93,7 @@ void SysLog_Message(SysLogLevel level, const char* msg); * @brief Format and log a message. * @param level the log level of the message * @param format The format string. + * @note This should not be called within interrupt context. */ void SysLog_Print(SysLogLevel level, const char* format, ...); diff --git a/user_manual/Doxyfile b/user_manual/Doxyfile index d5dea9b..8343079 100644 --- a/user_manual/Doxyfile +++ b/user_manual/Doxyfile @@ -762,6 +762,7 @@ WARN_LOGFILE = INPUT = docs/main.md \ docs/rdm-models.md \ docs/rdm-responder.md \ + docs/usb-logging.md \ docs/console.md \ docs/firmware.md \ docs/examples.md diff --git a/user_manual/docs/rdm-models.md b/user_manual/docs/rdm-models.md index 2415dc4..a6e78c5 100644 --- a/user_manual/docs/rdm-models.md +++ b/user_manual/docs/rdm-models.md @@ -13,6 +13,9 @@ provided: Note that these PIDs do not appear in the supported parameters list, so they are 'hidden' in a sense. +The PIDs aren't included in the 0.10.0 release of OLA, so you will need to add [this file](https://raw.githubusercontent.com/OpenLightingProject/ja-rule/master/data/rdm/stellascapes_lightwidgets_number1.proto) + to your PID data directory (normally /usr/local/share/ola/pids or /usr/share/ola/pids) and restart olad. + Using the OLA CLI, to get a list of available models: ~~~~~ $ ola_rdm_get -u 1 --uid 7a70:fffffe00 model_id_list diff --git a/user_manual/docs/usb-logging.md b/user_manual/docs/usb-logging.md new file mode 100644 index 0000000..de13180 --- /dev/null +++ b/user_manual/docs/usb-logging.md @@ -0,0 +1,19 @@ +USB Logging {#usb-logging} +======================= + +[TOC] + +# Overview {#usb-logging-overview} + +Ja Rule devices provide a serial console over the USB port. This allows a +user to connect using a [terminal emulator]( +https://en.wikipedia.org/wiki/Terminal_emulation) +such as [minicom](http://linux.die.net/man/1/minicom) (Unix) or +[PuTTY](http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) +(Windows). + +The settings are 8N1, at 9600 baud. + +The console provides different log levels. The +/- keys can be used to +increase / decrease the log level. Press the 'h' key to see a list of +commands.