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:07] – 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 ====== | ||
- | **ImportantNote: | + | \\ |
- | This file is currently under development and can change radically!\\ | + | |
- | 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 20: | 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 30: | 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 119: | 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 306: | 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.1149854829.txt.gz · Last modified: 2006/10/15 09:35 (external edit)