speakjet_definition_list
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| speakjet_definition_list [2006/06/09 12:06] – changed naming conventions, added registers audiocommander | speakjet_definition_list [2006/12/05 14:28] (current) – updated to latest version and removed dev-nfo audiocommander | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== SCP and MSA #defines for the SpeakJet ====== | ====== SCP and MSA #defines for the SpeakJet ====== | ||
| - | **Important: | + | \\ |
| - | Maybe you want to wait some days until this note disappears to add your SJ-Definitions** | + | |
| - | + | ||
| - | It can be used for your C-based MBHP_IIC_SpeakJet Project: | + | |
| - | + | ||
| - | Feel free to edit and add defines! | + | |
| - | + | ||
| <code c> | <code c> | ||
| - | |||
| /* | /* | ||
| | | ||
| Line 19: | Line 11: | ||
| | | ||
| * | * | ||
| - | | + | |
| - | | + | |
| * | * | ||
| + | */ | ||
| + | |||
| + | /* | ||
| + | * Released under GNU General Public License | ||
| + | * http:// | ||
| + | | ||
| + | * This program is free software; you can redistribute it and/or modify it under the terms | ||
| + | * of the GNU General Public License as published by the Free Software Foundation | ||
| + | * | ||
| + | * YOU ARE ALLOWED TO COPY AND CHANGE | ||
| + | * BUT YOU MUST RELEASE THE SOURCE TOO (UNDER GNU GPL) IF YOU RELEASE YOUR PRODUCT | ||
| + | * YOU ARE NOT ALLOWED NOT USE IT WITHIN PROPRIETARY CLOSED-SOURCE PROJECTS | ||
| */ | */ | ||
| Line 29: | Line 32: | ||
| - | // ********* SPEAKJET SCP REGISTERS | + | |
| - | // SCP Registers & MAX Values | + | // ********* SPEAKJET SCP ************* // |
| + | // Serial Control Protocol | ||
| #ifdef _DEBUG_C | #ifdef _DEBUG_C | ||
| #pragma mark - | #pragma mark - | ||
| - | #pragma mark SCP REGISTERS & MAX VALUES | + | #pragma mark SCP |
| #endif | #endif | ||
| - | // Envelope | + | // escape character (' |
| - | # | + | #define SCP_ESCAPE ' |
| - | # | + | # |
| - | // ENVType (send ENVType + ENVState!) | + | # |
| - | # | + | # |
| - | # | + | # |
| - | # | + | # |
| - | # | + | # |
| - | // ENVState (send ENVType + ENVState!) | + | #define SCP_SEL6 ' |
| - | # | + | # |
| - | # | + | # |
| - | // Oscillators | + | # |
| - | # | + | # |
| - | # | + | # |
| - | # | + | # |
| - | # | + | |
| - | #define SCP_OSC5_FREQ 5 | + | |
| - | #define SCP_FREQ_MAX 3999 | + | |
| - | # | + | # |
| - | # | + | # |
| - | # | + | # |
| - | #define SCP_OSC4_LEVEL 14 | + | |
| - | #define SCP_OSC5_LEVEL 15 | + | |
| - | #define SCP_LEVEL_MAX 31 // | + | |
| - | // Distortion | + | # |
| - | # | + | |
| - | #define SCP_DISTORTION_MAX 255 | + | |
| - | // Master | ||
| - | #define SCP_MASTER_VOLUME 7 | ||
| - | #define SCP_MASTER_VOLUME_MAX 255 | ||
| + | // ********* SPEAKJET SCP REGISTERS **** // | ||
| + | // SCP Registers & MAX Values | ||
| + | #ifdef _DEBUG_C | ||
| + | #pragma mark - | ||
| + | #pragma mark SCP REGISTERS & MAX VALUES | ||
| + | #endif | ||
| + | // == SCP_MEMTYPE (H) == | ||
| + | #define SCP_MEMTYPE_REGISTER ' | ||
| + | #define SCP_MEMTYPE_EEPROM_H ' | ||
| + | #define SCP_MEMTYPE_EEPROM_L ' | ||
| + | // == SCP_MEMADDR (J) == | ||
| + | // Envelope | ||
| + | #define SCP_ENV_FREQ ' | ||
| + | #define SCP_ENV_CTRL ' | ||
| + | // Oscillator Frequency Register (not used, calculated) | ||
| + | #define SCP_OSC1_FREQ ' | ||
| + | #define SCP_OSC2_FREQ ' | ||
| + | #define SCP_OSC3_FREQ ' | ||
| + | #define SCP_OSC4_FREQ ' | ||
| + | #define SCP_OSC5_FREQ ' | ||
| + | // Oscillator Level Register (not used, calculated) | ||
| + | #define SCP_OSC1_LEVEL 11 | ||
| + | #define SCP_OSC2_LEVEL 12 | ||
| + | #define SCP_OSC3_LEVEL 13 | ||
| + | #define SCP_OSC4_LEVEL 14 | ||
| + | #define SCP_OSC5_LEVEL 15 | ||
| + | // Distortion | ||
| + | #define SCP_DISTORTION ' | ||
| + | // Master | ||
| + | #define SCP_MASTER_VOLUME ' | ||
| + | // == SCP_MEMWRT (N) == | ||
| + | // ENVType (send ENVType + ENVState!) | ||
| + | #define SCP_ENV_SAW ' | ||
| + | #define SCP_ENV_SINE ' | ||
| + | #define SCP_ENV_TRIANGLE ' | ||
| + | #define SCP_ENV_SQUARE ' | ||
| + | // ENVState (send ENVType + ENVState!) | ||
| + | #define SCP_ENV_OSC123 0x40 | ||
| + | #define SCP_ENV_OSC45 0x80 | ||
| + | // Default values | ||
| + | #define SCP_FREQ_DEFAULT 440 | ||
| + | #define SCP_LEVEL_DEFAULT 20 // | ||
| + | // Maximum accepted values | ||
| + | #define SCP_FREQ_MAX 3999 | ||
| + | #define SCP_LEVEL_MAX 31 | ||
| + | #define SCP_DISTORTION_MAX 255 | ||
| + | #define SCP_MASTER_VOLUME_MAX 255 | ||
| - | // ********* SPEAKJET SCP ************* // | ||
| - | // Serial Control Protocol | ||
| - | #ifdef _DEBUG_C | ||
| - | #pragma mark - | ||
| - | #pragma mark SCP | ||
| - | #endif | ||
| - | |||
| - | // escape character (' | ||
| - | #define SCP_ESCAPE 0x5C | ||
| - | #define SCP_SEL0 0 | ||
| - | #define SCP_SEL1 1 | ||
| - | #define SCP_SEL2 2 | ||
| - | #define SCP_SEL3 3 | ||
| - | #define SCP_SEL4 4 | ||
| - | #define SCP_SEL5 5 | ||
| - | #define SCP_SEL6 6 | ||
| - | #define SCP_SEL7 7 | ||
| - | #define SCP_EXIT X | ||
| - | #define SCP_READY V | ||
| - | #define SCP_CLEAR_BUFFER R | ||
| - | #define SCP_START T | ||
| - | #define SCP_STOP S | ||
| - | #define SCP_MEMTYPE H | ||
| - | #define SCP_MEMADDR J | ||
| - | #define SCP_MEMWRT N | ||
| - | #define SCP_RESET W | ||
| Line 118: | Line 132: | ||
| // 0 - 31 CONTROL CODES | // 0 - 31 CONTROL CODES | ||
| - | #define MSA_PAUSE0 0 | + | #define MSA_PAUSE0 0 // 0ms |
| - | #define MSA_PAUSE1 1 | + | #define MSA_PAUSE1 1 // 100ms |
| - | #define MSA_PAUSE2 2 | + | #define MSA_PAUSE2 2 // 200ms |
| - | #define MSA_PAUSE3 3 | + | #define MSA_PAUSE3 3 // 700ms |
| - | #define MSA_PAUSE4 4 | + | #define MSA_PAUSE4 4 // 30ms |
| - | #define MSA_PAUSE5 5 | + | #define MSA_PAUSE5 5 // 60ms |
| - | #define MSA_PAUSE6 6 | + | #define MSA_PAUSE6 6 // 90ms |
| #define MSA_NEXTFAST 7 | #define MSA_NEXTFAST 7 | ||
| Line 305: | Line 319: | ||
| #endif | #endif | ||
| - | #define MSA_EOP 255 | + | #define MSA_EOP 255 |
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | // <<--- Application related defines --->> | ||
| + | |||
| + | // SCP ControlTypes | ||
| + | // realtime announces single SCP messages like "Clear Buffer" | ||
| + | // register is used for 3-part-msgs: | ||
| + | #define SCP_CTRLTYPE_REALTIME 0x0 | ||
| + | #define SCP_CTRLTYPE_REGISTER 0x1 | ||
| + | |||
| + | // Articulation ControlTypes | ||
| + | #define ARTICULATION_JAW 0x1 | ||
| + | #define ARTICULATION_TONGUE 0x2 | ||
| + | #define ARTICULATION_GLOTTIS 0x3 | ||
| + | |||
| + | // OSC Harmonic Waveshapes | ||
| + | #define OSCSYNTH_WAVE_TRIANGLE 0 | ||
| + | #define OSCSYNTH_WAVE_SQUARE 1 | ||
| + | #define OSCSYNTH_WAVE_SAW 2 | ||
speakjet_definition_list.1149854805.txt.gz · Last modified: 2006/10/15 09:35 (external edit)
