PlainDSP M2M Communication Experimental Details This document describes the machine-to-machine (M2M) communication experiments using PlainDSP.
|
|
- Hilary Myles Matthews
- 6 years ago
- Views:
Transcription
1 1 PlainDSP M2M Communication Experimental Details This document describes the machine-to-machine (M2M) communication experiments using PlainDSP. Introduction The PlainDSP kit can be used to recognize frequency patterns, and therefore would be useful in M2M communication where audio signals are the exchanged energies. This same concept is used in many digital systems used in telecommunications and RF communication (e.g. frequency hopping). In this document we will learn how the PlainDSP kit can be utilized to acquire and process frequency patterns, and how this can translate into English text. Hello World! Contents Introduction... 1 Hardware... 2 Concept... 2 Experimentation... 4 Verify Channels... 4 Encoding... 9 Arduino Code Tone Sequence Generation Appendix... 18
2 Amplitude Amplitude Amplitude Amplitude Amplitude Amplitude 2 Hardware Here is what you ll need: 1. Computer with Arduino Software and USB cable 2. FL Studio Software (Demo version) 3. Arduino Uno 4. PlainDSP Audio Kit 5. m2m_comm.ino program 6. Hello World.wav file Concept There are many ways to accomplish this, but in this document a change in frequency will indicate a character. Frequency bands, or channels, will need to be allocated to distinguish the different letters. C 1 C 2 C 3 C 4 C n For example, a change from frequency channel C 1 to channel C 2 could indicate a letter A, or whatever we choose. In this experiment, an ID1 frequency (C ID1) and an ID2 frequency (C ID2) will be required to know when the character is being transmitted. The communication of the letter A is shown schematically: Frequency Time T1 Time T2 Time T3 Time T4 Time T5 CID1 CID2 C1 C2 CID1 CID2 C1 C2 CID1 CID2 C1 C2 CID1 CID2 C1 C2 CID1 CID2 C1 C2 Frequency Frequency Frequency Frequency Frequency Start Sequence Data Stop It is important to note that the available spectrum is finite. Thus, it is needed to calculate how much of the spectrum must be allocated to account for the number of transmittable characters. This means how much of the spectrum only one channel occupies should be known. As can be seen below, measurements from the PlainDSP show that approximately 333Hz of bandwidth are occupied for a single tone 880 Hz output.
3 3 The number of channels required for a total number of ASCII characters can now be calculated. The equation for this is the following: Total characters = (N 2) (N 3) where N is the number of total channels. Two channels are reserved for the packet identification, which is why we get the (N 2) term for the number of usable data channels. For each usable data channel, we are not allowed to use the two ID frequencies, nor are we have both data channels be the same frequency. This is why we get the (N 3) term. ASCII has a total of 256 characters, so that means we need a total of: 256 = (N 2) (N 3) = N 2 5N + 6 N = 5 ± ( 5)2 4(1)(6) 2(1) 19 This means we need 19 channels to encode all 256 ASCII characters. This might be too much, so instead we will chose 17, which gives us: Total Characters = (17 2) (17 3) = 210 characters This will cover the majority of useful characters to us, but may be limiting for other applications.
4 4 Experimentation This section discusses the experimentation, and how we verify what we calculated Verify Channels The code for this experiment is the example files PlainDSP_spectrum_plotter.ino and PlainDSP_main_frequency_plotter.ino. This first part uses the PlainDSP_spectrum_plotter.ino example program. A simple, free online tone generator was used to check the different channel frequencies. The website can be found here:
5 5 The channel frequency of interest was inputted in the application above and played over computer speakers. The PlainDSP_spectrum_plotter.ino file was uploaded on the Arduino and outputting frequency and amplitude information to the serial port. This information was copied and pasted into Microsoft Excel. A plot was generated in Excel to show the different frequency channels. This verifies that the channels can be separately recognized.
6 6 These calculated frequencies were then matched with a musical note frequency, or the closest frequency to that: Description Channel No. Caclulated Center Freq (Hz) Best Note Estimate (Hz) Error (Hz) Musical Note id 1 bit D5 chan A#5 chan D#6 chan G6 chan B6 id 2 bit C#7 chan E7 chan F#7 chan G#7 chan A7 chan B7 chan C8 chan D8 chan D#8 chan E8 chan F8 chan F#8 We do this only because the best audio frequency generators are musical things! Notice there is some error in our calculated bandwidths vs. the musical notes we chose: Hopefully this will be OK. In testing each of these channels, we find that there are some that are too close together:
7 7 So, we have to adjust the chosen frequencies: Description Channel No. Caclulated Center Freq (Hz) Best Note Estimate (Hz) Musical Note id 1 bit D5 chan A#5 chan D#6 chan G6 chan A#6 id 2 bit C#7 chan E7 chan F#7 chan G#7 chan A#7 chan C8 chan D8 chan E8 chan F#8 chan G8 chan G#8 chan A8
8 8 From which we obtain the following measurements: We can see there is less significant overlapping, however some does occur. This means that our communication will not be perfect, but it will work for now. We can see how we deviated from our original plan here: The original calculations are in blue, but we had to adjust our frequency selection from the 10 th channel on to avoid channel overlap.
9 9 Encoding Now that we have the audio channels in place, we can assign codes to the characters. This is a cumbersome process, but necessary. There are two data bits, so each two-pair code corresponds to a specific ASCII character. The number in each data field correspond to the channel detected by the PlainDSP. So, Having Data1=2 and Data2=3 means channel 2 (932 Hz) was detected first, and channel 3 (1245 Hz) was detected second. Data 1 Data 2 ASCII Symbol In Decimal Description 2 3 NULL 0 (Null character) 2 4 SOH 1 (Start of Header) 2 5 STX 2 (Start of Text) 2 7 ETX 3 (End of Text) 2 8 EOT 4 (End of Transmission) 2 9 ENQ 5 (Enquiry) 2 10 ACK 6 (Acknowledgement) 2 11 BEL 7 (Bell) 2 12 BS 8 (Backspace) 2 13 HT 9 (Horizontal Tab) 2 14 LF 10 (Line feed) 2 15 VT 11 (Vertical Tab) 2 16 FF 12 (Form feed) 2 17 CR 13 (Carriage return) 3 2 SO 14 (Shift Out) 3 4 SI 15 (Shift In) 3 5 DLE 16 (Data link escape) 3 7 DC1 17 (Device control 1) 3 8 DC2 18 (Device control 2) 3 9 DC3 19 (Device control 3) 3 10 DC4 20 (Device control 4) 3 11 NAK 21 (Negative acknowledgement) 3 12 SYN 22 (Synchronous idle) 3 13 ETB 23 (End of transmission block) 3 14 CAN 24 (Cancel) 3 15 EM 25 (End of medium) 3 16 SUB 26 (Substitute) 3 17 ESC 27 (Escape) 4 2 FS 28 (File separator) 4 3 GS 29 (Group separator) 4 5 RS 30 (Record separator) 4 7 US 31 (Unit separator) (Space) 4 9! 33 (Exclamation mark)
10 4 10 " 34 (Quotation mark ; quotes) 4 11 # 35 (Number sign) 4 12 $ 36 (Dollar sign) 4 13 % 37 (Percent sign) 4 14 & 38 (Ampersand) 4 15 ' 39 (Apostrophe) 4 16 ( 40 (round brackets or parentheses) 4 17 ) 41 (round brackets or parentheses) 5 2 * 42 (Asterisk) (Plus sign) 5 4, 44 (Comma) (Hyphen) (Dot, full stop) 5 9 / 47 (Slash) (number zero) (number one) (number two) (number three) (number four) (number five) (number six) (number seven) (number eight) (number nine) 7 4 : 58 (Colon) 7 5 ; 59 (Semicolon) 7 8 < 60 (Less-than sign) 7 9 = 61 (Equals sign) 7 10 > 62 (Greater-than sign ; Inequality) 7 11? 63 (Question mark) 7 64 (At sign) 7 13 A 65 (Capital A) 7 14 B 66 (Capital B) 7 15 C 67 (Capital C) 7 16 D 68 (Capital D) 7 17 E 69 (Capital E) 8 2 F 70 (Capital F) 8 3 G 71 (Capital G) 8 4 H 72 (Capital H) 8 5 I 73 (Capital I) 8 7 J 74 (Capital J) 8 9 K 75 (Capital K) 8 10 L 76 (Capital L) 10
11 8 11 M 77 (Capital M) 8 12 N 78 (Capital N) 8 13 O 79 (Capital O) 8 14 P 80 (Capital P) 8 15 Q 81 (Capital Q) 8 16 R 82 (Capital R) 8 17 S 83 (Capital S) 9 2 T 84 (Capital T) 9 3 U 85 (Capital U) 9 4 V 86 (Capital V) 9 5 W 87 (Capital W) 9 7 X 88 (Capital X) 9 8 Y 89 (Capital Y) 9 10 Z 90 (Capital Z) 9 11 [ 91 (square brackets or box brackets) 9 12 \ 92 (Backslash) 9 13 ] 93 (square brackets or box brackets) 9 14 ^ 94 (Caret or circumflex accent) 9 15 _ 95 (underscore, understrike, underbar or low line) 9 16 ` 96 (Grave accent) 9 17 a 97 (Lowercase a ) 10 2 b 98 (Lowercase b ) 10 3 c 99 (Lowercase c ) 10 4 d 100 (Lowercase d ) 10 5 e 101 (Lowercase e ) 10 7 f 102 (Lowercase f ) 10 8 g 103 (Lowercase g ) 10 9 h 104 (Lowercase h ) i 105 (Lowercase i ) j 106 (Lowercase j ) k 107 (Lowercase k ) l 108 (Lowercase l ) m 109 (Lowercase m ) n 110 (Lowercase n ) o 111 (Lowercase o ) 11 2 p 112 (Lowercase p ) 11 3 q 113 (Lowercase q ) 11 4 r 114 (Lowercase r ) 11 5 s 115 (Lowercase s ) 11 7 t 116 (Lowercase t ) 11 8 u 117 (Lowercase u ) 11 9 v 118 (Lowercase v ) w 119 (Lowercase w ) 11
12 11 12 x 120 (Lowercase x ) y 121 (Lowercase y ) z 122 (Lowercase z ) { 123 (curly brackets or braces) (vertical-bar, vbar, vertical line or vertical slash) (curly brackets or braces) 12 2 ~ 126 (Tilde ; swung dash) 12 3 DEL 127 (Delete) 12 4 Ç 128 (Majuscule C-cedilla) 12 5 ü 129 (letter "u" with umlaut or diaeresis ; "u-umlaut") 12 7 é 130 (letter "e" with acute accent or "e-acute") 12 8 â 131 (letter "a" with circumflex accent or "a-circumflex") 12 9 ä 132 (letter "a" with umlaut or diaeresis ; "a-umlaut") à 133 (letter "a" with grave accent) å 134 (letter "a" with a ring) ç 135 (Minuscule c-cedilla) ê 136 (letter "e" with circumflex accent or "e-circumflex") ë 137 (letter "e" with umlaut or diaeresis ; "e-umlaut") è 138 (letter "e" with grave accent) ï 139 (letter "i" with umlaut or diaeresis ; "i-umlaut") 13 2 î 140 (letter "i" with circumflex accent or "i-circumflex") 13 3 ì 141 (letter "i" with grave accent) 13 4 Ä 142 (letter "A" with umlaut or diaeresis ; "A-umlaut") 13 5 Å 143 (Capital letter "A" with a ring) 13 7 É 144 (Capital letter "E" with acute accent or "E-acute") 13 8 æ 145 (Latin diphthong "ae" in lowercase) 13 9 Æ 146 (Latin diphthong "AE" in uppercase) ô 147 (letter "o" with circumflex accent or "o-circumflex") ö 148 (letter "o" with umlaut or diaeresis ; "o-umlaut") ò 149 (letter "o" with grave accent) û 150 (letter "u" with circumflex accent or "u-circumflex") ù 151 (letter "u" with grave accent) ÿ 152 (Lowercase letter "y" with diaeresis) Ö 153 (letter "O" with umlaut or diaeresis ; "O-umlaut") 14 2 Ü 154 (letter "U" with umlaut or diaeresis ; "U-umlaut") 14 3 ø 155 (slashed zero or empty set) (Pound sign ; symbol for the pound sterling) 14 5 Ø 157 (slashed zero or empty set) (multiplication sign) 14 8 ƒ 159 (function sign ; f with hook sign ; florin sign ) 14 9 á 160 (letter "a" with acute accent or "a-acute") í 161 (letter "i" with acute accent or "i-acute") ó 162 (letter "o" with acute accent or "o-acute") 12
13 14 12 ú 163 (letter "u" with acute accent or "u-acute") ñ 164 (letter "n" with tilde ; enye) Ñ 165 (letter "N" with tilde ; enye) ª 166 (feminine ordinal indicator) º 167 (masculine ordinal indicator) (Inverted question marks) (Registered trademark symbol) (Logical negation symbol) 15 5 ½ 171 (One half) 15 7 ¼ 172 (Quarter or one fourth) (Inverted exclamation marks) 15 9 «174 (Angle quotes or guillemets) 15 10» 175 (Guillemets or angle quotes) (Box drawing character) (Box drawing character) Á 181 (Capital letter "A" with acute accent or "A-acute") 16 2 Â 182 (letter "A" with circumflex accent or "A-circumflex") 16 3 À 183 (letter "A" with grave accent) (Copyright symbol) (Box drawing character) (Box drawing character) (Box drawing character) (Box drawing character) (Cent symbol) (YEN and YUAN sign) (Box drawing character) (Box drawing character) (Box drawing character) (Box drawing character) (Box drawing character) (Box drawing character) (Box drawing character) 17 4 ã 198 (Lowercase letter "a" with tilde or "a-tilde") 17 5 Ã 199 (Capital letter "A" with tilde or "A-tilde") (Box drawing character) (Box drawing character) (Box drawing character) (Box drawing character) (Box drawing character) (Box drawing character) 13
14 (Box drawing character) (generic currency sign) ð 208 (Lowercase letter "eth") Ð 209 (Capital letter "Eth") Arduino Code The Arduino code for detecting our protocol is complex, so it is not explained in detail here. Refer to the Appendix to see how the code works. Upload this code and follow the rest of these instructions to perform the M2M communication.
15 15 Tone Sequence Generation A difficult part of this is to use a tone sequence generator to transmit the message. In this experiment, FL Studio 11, a musical program, was used: I used the demo version, which cannot load saved files. It can, however, create and save FL studio files, and export the files to wav format. Here are some steps to begin with FL Studio 11: 1. Open FL Studio, and delete all of the current pattern instruments. 2. In the instruments panel on the left browse to Plugin presets > Generators > 3x Osc > Default, then click and drag that instrument to the pattern window
16 16 3. Now, Browse to View > Channel Settings, then click on the PLUGIN tab in the channel settings window. There are 3 oscillators shown with knobs. Turn the VOL setting fully CCW to leave only oscillator 1 working. This allows for a nice clean sine wave sound. 4. Click on View > Piano Roll
17 17 5. Let s make our first data packet! We will send the letter H to the PlainDSP. Click on D5 then C#7 for our IDs, then F#7 and G6 to designate H (since these correspond to the channels 8 and 4, respectively), then finally click on C#7 again to end the packet. Your audio message should look like the following below: 6. Make sure your PlainDSP is plugged in, running the Arduino code (found in the Appendix), the serial port is opened, and make sure the speakers are turned up. Press the triangular Play button and notice the H is displayed!
18 18 Appendix /* */ PlainDSP: Data Acquisition and Digital Signal Processing library Revision 1e Applicable license : This program and related paper documentation are owned by HL2 group SAS. The program is subject to the license GNU GPL version 3, which content is available in the file attached to this program. This license allows you to use, reproduce and adapt this program for private, educational, research purposes. If you intend to (i) use this program on a large scale and/or (ii) adapt this code, for COMMERCIAL PURPOSES, please contact HL2 at the following address : contact@hl2.fr in order to be granted a commercial license, subject to specific terms and conditions. /* Include libraries */ #include <PlainTLC5973x.h> #include <PlainDSP.h> /* Create objects */ PlainDSP DSP; PlainTLC5973x LED; /* Acquisition parameters */ const uint16_t _samples = 128; /* Max value depends upon available memory space */ const float _samplingfrequency = ; /* From Hz to 80 khz */ const uint16_t _defadcchannel = 0; /* From 0 to 5 on ATmega328 powered Arduino */ const uint16_t _refvoltage = DSP_REF_VOL_EXTERNAL; /* External: 3.3V */ const uint8_t _options = (DSP_OPT_DIS_TIM_0 DSP_OPT_DIS_TIM_2 DSP_OPT_NOI_CANCELLER); /* Display parameters */ uint8_t _maxledintensity = 0xFF; /* User parameters (John Pritchard, 2014) */ int packet[4]; //for recording incoming data packet int prev_packet[4]; //for storing temporary packet data (used for shifting) int p_len = 4; //packet length int tstart = 0; //timer start int idflag1 = 0; //data id flag 1 int idflag2 = 0; //data id flag 2 int timeout = 400; //timeout in ms int thresh = 200; //noise threshold int chan2inuseflag = 0; //flag for channel usage; int chan3inuseflag = 0; //flag for channel usage; int chan4inuseflag = 0; //flag for channel usage; int chan5inuseflag = 0; //flag for channel usage; int chan7inuseflag = 0; //flag for channel usage; int chan8inuseflag = 0; //flag for channel usage; int chan9inuseflag = 0; //flag for channel usage; int chan10inuseflag = 0; //flag for channel usage; int chan11inuseflag = 0; //flag for channel usage; int chan12inuseflag = 0; //flag for channel usage; int chan13inuseflag = 0; //flag for channel usage; int chan14inuseflag = 0; //flag for channel usage; int chan15inuseflag = 0; //flag for channel usage; int chan16inuseflag = 0; //flag for channel usage; int chan17inuseflag = 0; //flag for channel usage; int data1 = 0; //data byte, will contain either 2-5 or 7-17, depending on what channel is detected. int data2 = 0; //data byte, will contain either 2-5 or 7-17, depending on what channel is detected. void setup(void) {
19 19 /* Initialize serial comm port */ Serial.begin(115200); /* Set data acquisition parameters */ DSP.SetAcquisitionEngine(_defAdcChannel, _refvoltage, _samplingfrequency, _samples, _options); /* Initialize internal LED driver */ LED.Init(PINB5, &PORTB, DEV_TYP_TLC5973); void loop(void) /* This function repetitively prints lines containing time, major frequency position, major frequency height in semi-colon separated fields. */ { //Blink(); /* Select the optimal amplifying stage and apply gain */ AutoRanging(); /* Null offset */ DSP.ResetOffset(); /* Weight data */ DSP.Windowing(DSP_WIN_TYP_HANN, DSP_FORWARD); /* Compute FFT */ DSP.ComputeForwardFFT(); /* Compute amplitudes */ DSP.ComplexToReal(DSP_SCL_TYP_AMPLITUDE); /* Find major peak */ struct strpeakproperties majorpeak; DSP.MajorPeak(&majorPeak); /* Compute interpolated values */ struct strpeakproperties interpolatedpeak; DSP.InterpolatedPeak(majorPeak.position, &interpolatedpeak); floor < 687){ < 2318){ if(interpolatedpeak.height > thresh){ //check if detected signal is above the noise //Check if start id 1 (chan 1) frequency detected if(!idflag1 &&!idflag2 && interpolatedpeak.position > 487 && interpolatedpeak.position idflag1 = 1; // set the idflag1 tstart = millis(); // successful detection, so restart the timer //Check if start id 2 (chan 6) frequency detected if(idflag1 &&!idflag2 && interpolatedpeak.position > 2118 && interpolatedpeak.position idflag2 = 1; // set the idflag2 tstart = millis(); // successful detection, so restart the timer //If both start id's detected, look for and store data (look for the different channels if(idflag1 && idflag2){ if(interpolatedpeak.position > 832 && interpolatedpeak.position < 1032 &&!chan2inuseflag){ //chan 2 chan2inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 2; //put in data1 if not full, otherwise put in data2 else{data2 = 2; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 1145 && interpolatedpeak.position < 1345 &&!chan3inuseflag){ //chan 3 chan3inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 3; //put in data1 if not full, otherwise put in data2 else{data2 = 3; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 1468 && interpolatedpeak.position < 1668 &&!chan4inuseflag){ //chan 4 chan4inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 4; //put in data1 if not full, otherwise put in data2
20 20 else{data2 = 4; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 1765 && interpolatedpeak.position < 1965 &&!chan5inuseflag){ //chan 5 chan5inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 5; //put in data1 if not full, otherwise put in data2 else{data2 = 5; tstart = millis(); // successful detection, so restart the timer else if(idflag1 &&!idflag2 && interpolatedpeak.position > 2118 && interpolatedpeak.position < 2318){ //chan 6, Stop id, if this one detected within this nested if statement, comm has ended rstcomm(); else if(interpolatedpeak.position > 2537 && interpolatedpeak.position < 2737 &&!chan7inuseflag){ //chan 7 chan7inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 7; //put in data1 if not full, otherwise put in data2 else{data2 = 7; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 2860 && interpolatedpeak.position < 3060 &&!chan8inuseflag){ //chan 8 chan8inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 8; //put in data1 if not full, otherwise put in data2 else{data2 = 8; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 3222 && interpolatedpeak.position < 3422 &&!chan9inuseflag){ //chan 9 chan9inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 9; //put in data1 if not full, otherwise put in data2 else{data2 = 9; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 3629 && interpolatedpeak.position < 3829 &&!chan10inuseflag){ //chan 10 chan10inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 10; //put in data1 if not full, otherwise put in data2 else{data2 = 10; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 4086 && interpolatedpeak.position < 4286 &&!chan11inuseflag){ //chan 11 chan11inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 11; //put in data1 if not full, otherwise put in data2 else{data2 = 11; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 4599 && interpolatedpeak.position < 4799 &&!chan12inuseflag){ //chan 12 chan12inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 12; //put in data1 if not full, otherwise put in data2 else{data2 = 12; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 5174 && interpolatedpeak.position < 5374 &&!chan13inuseflag){ //chan 13 chan13inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 13; //put in data1 if not full, otherwise put in data2 else{data2 = 13;
21 21 tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 5820 && interpolatedpeak.position < 6020 &&!chan14inuseflag){ //chan 14 chan14inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 14; //put in data1 if not full, otherwise put in data2 else{data2 = 14; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 6172 && interpolatedpeak.position < 6372 &&!chan15inuseflag){ //chan 15 chan15inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 15; //put in data1 if not full, otherwise put in data2 else{data2 = 15; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 6545 && interpolatedpeak.position < 6745 &&!chan16inuseflag){ //chan 16 chan16inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 16; //put in data1 if not full, otherwise put in data2 else{data2 = 16; tstart = millis(); // successful detection, so restart the timer else if(interpolatedpeak.position > 6940 && interpolatedpeak.position < 7140 &&!chan17inuseflag){ //chan 17 chan17inuseflag = 1; //set channel in use once detected. if(data1 == 0){data1 = 17; //put in data1 if not full, otherwise put in data2 else{data2 = 17; tstart = millis(); // successful detection, so restart the timer if(tdiff(tstart) > timeout){ rstcomm(); /* TEST - Detect center frequency of 600 Hz if(interpolatedpeak.height > 500){ //check if above the noise floor if(interpolatedpeak.position > 550 && interpolatedpeak.position < 650){ Blink(); */ /* TEST - Print results Serial.print((millis() / ), 3); Serial.print(', '); Serial.print(interpolatedPeak.position, 2); Serial.print(', '); Serial.print(interpolatedPeak.height, 2); Serial.println(); //Blink(); //delay(250);*/ uint8_t AutoRanging(void) /* Select optimal range for actual signal level, read from analog ports A0, A1 and A2 */ { float vgains[] = {100.0, 10.0, 1.0; uint8_t adcchannel = 3; do { adcchannel -= 1; /* Set channel */ DSP.Channel(adcChannel); /* Acquire data from selected channel */ DSP.GetScanData(); while (((DSP.Min() < 10.0) (DSP.Max() > )) && (adcchannel!= 0)); /* Apply gain */
22 22 DSP.Gain(vGains[adcChannel]); return(adcchannel); void Blink(void) { /* Create and initialize the state the first time */ static uint8_t state = 0x00; /* invert each time */ state = ~state; if (state) { LED.SendData(0, _maxledintensity, 0); else { LED.SendData(0, 0, 0); int tdiff(int strt){ return millis() - strt; void rstcomm(){ //report data before reset report(); //reset data tstart = 0; idflag1 = 0; idflag2 = 0; data1 = 0; data2 = 0; chan2inuseflag = 0; chan3inuseflag = 0; chan4inuseflag = 0; chan5inuseflag = 0; chan7inuseflag = 0; chan8inuseflag = 0; chan9inuseflag = 0; chan10inuseflag = 0; chan11inuseflag = 0; chan12inuseflag = 0; chan13inuseflag = 0; chan14inuseflag = 0; chan15inuseflag = 0; chan16inuseflag = 0; chan17inuseflag = 0; /* the report() function is a lookup table with most of the ascii codes (up to 211). When the two data bits (data1 and data2) are full, they will be checked against this lookup table to determine the message sent. For example, when data1=2 and data2=14, Serial.write(10) will be called. This writes the ascii code 10 (decimal) to the serial port, which corresponds to a "new line" command.*/ void report(){ if(data1!= 0 && data2!= 0){ if(data1 == 2){ if(data2 == 3){ Serial.write(0); else if(data2 == 4){ Serial.write(1); else if(data2 == 5){ Serial.write(2); else if(data2 == 7){ //make sure data is not empty
23 23 Serial.write(3); else if(data2 == 8){ Serial.write(4); else if(data2 == 9){ Serial.write(5); else if(data2 == 10){ Serial.write(6); else if(data2 == 11){ Serial.write(7); else if(data2 == 12){ Serial.write(8); else if(data2 == 13){ Serial.write(9); else if(data2 == 14){ Serial.write(10); else if(data2 == 15){ Serial.write(11); else if(data2 == 16){ Serial.write(12); else if(data2 == 17){ Serial.write(13); else if(data1 == 3){ if(data2 == 2){ Serial.write(14); else if(data2 == 4){ Serial.write(15); else if(data2 == 5){ Serial.write(16); else if(data2 == 7){ Serial.write(17); else if(data2 == 8){ Serial.write(18); else if(data2 == 9){ Serial.write(19); else if(data2 == 10){ Serial.write(20); else if(data2 == 11){ Serial.write(21); else if(data2 == 12){ Serial.write(22); else if(data2 == 13){ Serial.write(23); else if(data2 == 14){ Serial.write(24); else if(data2 == 15){ Serial.write(25); else if(data2 == 16){
24 24 Serial.write(26); else if(data2 == 17){ Serial.write(27); else if(data1 == 4){ if(data2 == 2){ Serial.write(28); else if(data2 == 3){ Serial.write(29); else if(data2 == 5){ Serial.write(30); else if(data2 == 7){ Serial.write(31); else if(data2 == 8){ Serial.write(32); else if(data2 == 9){ Serial.write(33); else if(data2 == 10){ Serial.write(34); else if(data2 == 11){ Serial.write(35); else if(data2 == 12){ Serial.write(36); else if(data2 == 13){ Serial.write(37); else if(data2 == 14){ Serial.write(38); else if(data2 == 15){ Serial.write(39); else if(data2 == 16){ Serial.write(40); else if(data2 == 17){ Serial.write(41); else if(data1 == 5){ if(data2 == 2){ Serial.write(42); else if(data2 == 3){ Serial.write(43); else if(data2 == 4){ Serial.write(44); else if(data2 == 7){ Serial.write(45); else if(data2 == 8){ Serial.write(46); else if(data2 == 9){ Serial.write(47); else if(data2 == 10){ Serial.write(48);
25 25 else if(data2 == 11){ Serial.write(49); else if(data2 == 12){ Serial.write(50); else if(data2 == 13){ Serial.write(51); else if(data2 == 14){ Serial.write(52); else if(data2 == 15){ Serial.write(53); else if(data2 == 16){ Serial.write(54); else if(data2 == 17){ Serial.write(55); else if(data1 == 7){ if(data2 == 2){ Serial.write(56); else if(data2 == 3){ Serial.write(57); else if(data2 == 4){ Serial.write(58); else if(data2 == 5){ Serial.write(59); else if(data2 == 8){ Serial.write(60); else if(data2 == 9){ Serial.write(61); else if(data2 == 10){ Serial.write(62); else if(data2 == 11){ Serial.write(63); else if(data2 == 12){ Serial.write(64); else if(data2 == 13){ Serial.write(65); else if(data2 == 14){ Serial.write(66); else if(data2 == 15){ Serial.write(67); else if(data2 == 16){ Serial.write(68); else if(data2 == 17){ Serial.write(69); else if(data1 == 8){ if(data2 == 2){ Serial.write(70);
26 26 else if(data2 == 3){ Serial.write(71); else if(data2 == 4){ Serial.write(72); else if(data2 == 5){ Serial.write(73); else if(data2 == 7){ Serial.write(74); else if(data2 == 9){ Serial.write(75); else if(data2 == 10){ Serial.write(76); else if(data2 == 11){ Serial.write(77); else if(data2 == 12){ Serial.write(78); else if(data2 == 13){ Serial.write(79); else if(data2 == 14){ Serial.write(80); else if(data2 == 15){ Serial.write(81); else if(data2 == 16){ Serial.write(82); else if(data2 == 17){ Serial.write(83); else if(data1 == 9){ if(data2 == 2){ Serial.write(84); else if(data2 == 3){ Serial.write(85); else if(data2 == 4){ Serial.write(86); else if(data2 == 5){ Serial.write(87); else if(data2 == 7){ Serial.write(88); else if(data2 == 8){ Serial.write(89); else if(data2 == 10){ Serial.write(90); else if(data2 == 11){ Serial.write(91); else if(data2 == 12){ Serial.write(92); else if(data2 == 13){ Serial.write(93);
27 27 else if(data2 == 14){ Serial.write(94); else if(data2 == 15){ Serial.write(95); else if(data2 == 16){ Serial.write(96); else if(data2 == 17){ Serial.write(97); else if(data1 == 10){ if(data2 == 2){ Serial.write(98); else if(data2 == 3){ Serial.write(99); else if(data2 == 4){ Serial.write(100); else if(data2 == 5){ Serial.write(101); else if(data2 == 7){ Serial.write(102); else if(data2 == 8){ Serial.write(103); else if(data2 == 9){ Serial.write(104); else if(data2 == 11){ Serial.write(105); else if(data2 == 12){ Serial.write(106); else if(data2 == 13){ Serial.write(107); else if(data2 == 14){ Serial.write(108); else if(data2 == 15){ Serial.write(109); else if(data2 == 16){ Serial.write(110); else if(data2 == 17){ Serial.write(111); else if(data1 == 11){ if(data2 == 2){ Serial.write(112); else if(data2 == 3){ Serial.write(113); else if(data2 == 4){ Serial.write(114); else if(data2 == 5){ Serial.write(115); else if(data2 == 7){
28 28 Serial.write(116); else if(data2 == 8){ Serial.write(117); else if(data2 == 9){ Serial.write(118); else if(data2 == 10){ Serial.write(119); else if(data2 == 12){ Serial.write(120); else if(data2 == 13){ Serial.write(121); else if(data2 == 14){ Serial.write(122); else if(data2 == 15){ Serial.write(123); else if(data2 == 16){ Serial.write(124); else if(data2 == 17){ Serial.write(125);
ASCII Code - The extended ASCII table
ASCII Code - The extended ASCII table ASCII, stands for American Standard Code for Information Interchange. It's a 7-bit character code where every single bit represents a unique character. On this webpage
More informationOOstaExcel.ir. J. Abbasi Syooki. HTML Number. Device Control 1 (oft. XON) Device Control 3 (oft. Negative Acknowledgement
OOstaExcel.ir J. Abbasi Syooki HTML Name HTML Number دهدهی ا کتال هگزاد سیمال باینری نشانه )کاراکتر( توضیح Null char Start of Heading Start of Text End of Text End of Transmission Enquiry Acknowledgment
More informationAppendix C. Numeric and Character Entity Reference
Appendix C Numeric and Character Entity Reference 2 How to Do Everything with HTML & XHTML As you design Web pages, there may be occasions when you want to insert characters that are not available on your
More information1. Character/String Data, Expressions & Intrinsic Functions. Numeric Representation of Non-numeric Values. (CHARACTER Data Type), Part 1
Character/String Data, Expressions Intrinsic Functions (CHARACTER Data Type), Part 1 1. Character/String Data, Expressions Intrinsic Functions (CHARACTER Data Type), Part 1 2. Numeric Representation of
More informationFD-011WU. 2D Barcode Reader User Guide V1.6CC
FD-011WU 2D Barcode Reader User Guide V1.6CC Table of Contents 1 Getting Started... 1 1.1 Factory Defaults... 1 2 Communication Interfaces...2 2.1 TTL-232 Interface... 2 2.2 Baud Rate... 3 2.3 Data Bit
More information2a. Codes and number systems (continued) How to get the binary representation of an integer: special case of application of the inverse Horner scheme
2a. Codes and number systems (continued) How to get the binary representation of an integer: special case of application of the inverse Horner scheme repeated (integer) division by two. Example: What is
More informationCharacters Lesson Outline
Outline 1. Outline 2. Numeric Encoding of Non-numeric Data #1 3. Numeric Encoding of Non-numeric Data #2 4. Representing Characters 5. How Characters Are Represented #1 6. How Characters Are Represented
More informationMK D Imager Barcode Scanner Configuration Guide
MK-5500 2D Imager Barcode Scanner Configuration Guide V1.4 Table of Contents 1 Getting Started... 3 1.1 About This Guide... 3 1.2 Barcode Scanning... 3 1.3 Factory Defaults... 3 2 Communication Interfaces...
More informationNumber Systems II MA1S1. Tristan McLoughlin. November 30, 2013
Number Systems II MA1S1 Tristan McLoughlin November 30, 2013 http://en.wikipedia.org/wiki/binary numeral system http://accu.org/index.php/articles/18 http://www.binaryconvert.com http://en.wikipedia.org/wiki/ascii
More information1.1. INTRODUCTION 1.2. NUMBER SYSTEMS
Chapter 1. 1.1. INTRODUCTION Digital computers have brought about the information age that we live in today. Computers are important tools because they can locate and process enormous amounts of information
More informationCMSC 313 Lecture 03 Multiple-byte data big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes
Multiple-byte data CMSC 313 Lecture 03 big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes UMBC, CMSC313, Richard Chang 4-5 Chapter
More informationSPEECH RECOGNITION COMMON COMMANDS
SPEECH RECOGNITION COMMON COMMANDS FREQUENTLY USED COMMANDS The table below shows some of the most commonly used commands in Windows Speech Recognition. The words in italics indicate that many different
More informationThe following are the data types used in the C programming language:
Data Types in C The following are the data types used in the C programming language: Type Definition Size in memory void This particular type is used only in function declaration. boolean It stores false
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012
CMSC 33 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 2, FALL 22 TOPICS TODAY Bits of Memory Data formats for negative numbers Modulo arithmetic & two s complement Floating point formats
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, SPRING 2013
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, SPRING 2013 TOPICS TODAY Bits of Memory Data formats for negative numbers Modulo arithmetic & two s complement Floating point
More informationEXPERIMENT 8: Introduction to Universal Serial Asynchronous Receive Transmit (USART)
EXPERIMENT 8: Introduction to Universal Serial Asynchronous Receive Transmit (USART) Objective: Introduction To understand and apply USART command for sending and receiving data Universal Serial Asynchronous
More informationChemistry Hour Exam 2
Chemistry 838 - Hour Exam 2 Fall 2003 Department of Chemistry Michigan State University East Lansing, MI 48824 Name Student Number Question Points Score 1 15 2 15 3 15 4 15 5 15 6 15 7 15 8 15 9 15 Total
More informationZeichen-Referenztabelle (1-127)
Zeichen-Referenztabelle (1-127) Die ersten 31 Zeichen sind für Steuerbefelhle des Computers reserviert (z. B. Druckerkommunikation) und sind deshalb nicht belegt. Die Zeichen 32 127 sind auf PC- und MAC-Systemen
More informationBD-6500BT Bluetooth 2D Barcode Scanner Configuration Guide
BD-6500BT Bluetooth 2D Barcode Scanner Configuration Guide V 2.1 Table of Contents 1 Getting Started. 3 1.1 About This Guide.. 3 1.2 Barcode Scanning.. 3 1.3 Factory Defaults.. 3 1.4 Pairing Cradle 4 1.5
More informationChapter 3. Information Representation
Chapter 3 Information Representation Instruction Set Architecture APPLICATION LEVEL HIGH-ORDER LANGUAGE LEVEL ASSEMBLY LEVEL OPERATING SYSTEM LEVEL INSTRUCTION SET ARCHITECTURE LEVEL 3 MICROCODE LEVEL
More informationEXPERIMENT 7: Introduction to Universal Serial Asynchronous Receive Transmit (USART)
EXPERIMENT 7: Introduction to Universal Serial Asynchronous Receive Transmit (USART) Objective: To understand and apply USART command for sending and receiving data Introduction Universal Serial Asynchronous
More informationDATA REPRESENTATION. Data Types. Complements. Fixed Point Representations. Floating Point Representations. Other Binary Codes. Error Detection Codes
1 DATA REPRESENTATION Data Types Complements Fixed Point Representations Floating Point Representations Other Binary Codes Error Detection Codes 2 Data Types DATA REPRESENTATION Information that a Computer
More information2D Barcode Reader User Guide V 1.2.1
2D Barcode Reader User Guide V 1.2.1 Table of Contents 1 Getting Started... 3 1.1 About This Guide... 3 1.2 Barcode Scanning... 3 1.3 Factory Defaults... 3 1.4 Firmware Version Number... 3 2 Communication
More informationCharacters & Strings in C
Recently, we saw this: Characters & Strings in C % cat charweird.c #include main () { /* main */ char c; c = 75; printf("c = %d\n", c); printf("c = %c\n", c); if (c) { printf("c is true\n");
More informationCharacter Entity References in HTML 4 and XHTML 1.0
1 of 12 2/2/2009 2:55 PM Character References in HTML 4 and XHTML 1.0 Here is a set of tables containing the 252 allowed entities in HTML 4 and XHTML 1.0, as described in section 24 of the official HTML
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012 ANNOUNCEMENTS TA Office Hours (ITE 334): Genaro Hernandez, Jr. Mon 10am 12noon Roshan Ghumare Wed 10am 12noon Prof.
More informationIf your CNC machine memory is full, the PocketDNC gives you more storage, enabling you to store and reload proven programs at a later date.
Page 1 of 54 Introduction...3 Important! PocketDNC Licence File...3 What s in the Box...4 Setting up Windows Mobile (Win7 Win8 Win10)...5 www.microsoft.com/en-gb/download/details.aspx?id=3182connect Without
More informationSMS API TECHNICAL SPECIFICATION
SMS API TECHNICAL SPECIFICATION Version 2.1 Provision of the Click SMS Gateway Service is dependent upon compliance with the specifications contained in this document. Although Click SMS has taken reasonable
More informationFundamental Data Types
Fundamental Data Types Lecture 4 Sections 2.7-2.10 Robb T. Koether Hampden-Sydney College Mon, Sep 3, 2018 Robb T. Koether (Hampden-Sydney College) Fundamental Data Types Mon, Sep 3, 2018 1 / 25 1 Integers
More informationS-Series Sensor ASCII Protocol v8.1.0
S-Series Sensor v8.1.0 Legend: ADR Node/Slave Address TIME STAT Status Byte ERR CTRL Control Byte SP # POS Position DATA TARG Target CHAR VEL Velocity OFF SN CODE PAR # Serial Number Security Code Parameter
More informationThe Use of Reserved (= Undefined) 1252 Code Page Slots in TrueType Fonts
The Use of Reserved (= Undefined) 1252 Code Page Slots in TrueType Fonts Problem: How do you create a 1252 TrueType text font (= non-symbol font) with slots 128, 129, 141-144, 157-158, 173, 175, 181, 183,
More informationData Representation and Binary Arithmetic. Lecture 2
Data Representation and Binary Arithmetic Lecture 2 Computer Data Data is stored as binary; 0 s and 1 s Because two-state ( 0 & 1 ) logic elements can be manufactured easily Bit: binary digit (smallest
More informationBits and Bytes. Data Representation. A binary digit or bit has a value of either 0 or 1; these are the values we can store in hardware devices.
Bits and Bytes 1 A binary digit or bit has a value of either 0 or 1; these are the values we can store in hardware devices. A byte is a sequence of 8 bits. A byte is also the fundamental unit of storage
More informationRequest for Comments: XXXX November Registration of a Georgian Character Set draft-giasher-geostd8-00.txt
Internet draft Gia Shervashidze Network Working Group Georgian Internet Avenue Request for Comments: XXXX November 2001 Registration of a Georgian Character Set draft-giasher-geostd8-00.txt Status of this
More information2D Hand-held Barcode Scanner User Guide
2D Hand-held Barcode Scanner User Guide 2 / 66 Version History Version Description Date V1.0 Initial release. 2016-11-10 V1.01 Add Data Matrix and PDF417 2017-04-25 3 / 66 Content Chapter 1 Getting Started...
More informationPassword Management Guidelines for Cisco UCS Passwords
Guidelines for Cisco UCS Passwords, page 1 Guidelines for Cisco UCS Usernames, page 3 Configuring the Maximum Number of Password Changes for a Change Interval, page 4 Configuring a No Change Interval for
More informationFundamentals of Programming (C)
Borrowed from lecturer notes by Omid Jafarinezhad Fundamentals of Programming (C) Group 8 Lecturer: Vahid Khodabakhshi Lecture Number Systems Department of Computer Engineering Outline Numeral Systems
More informationMounting Dimensions / Viewing 2 Mounting Options 3. Wiring Configuration 4. Quick Set up Procedure 5. Changing Intensity 6.
Section Mounting Dimensions / Viewing 2 Mounting Options 3 Section 2 Wiring Configuration 4 Section 3 Quick Set up Procedure 5 Section 4 Changing Intensity 6 Section 5 Option Summary 7 Section 6 Option
More informationJ2 LCM Customer Display. Manual
J2 LCM Customer Display Manual July 2012 Contents LCM Customer Display... 3 Overview... 3 Customer Display Configureation... 4 Port Settings... 4 CD Settings... 5 Emulation Mode... 5 Character Sets...
More informationInformation technology Coded graphic character set for text communication Latin alphabet
Reference number of working document: ISO/IEC JTC1/SC2/WG3 N L2/98-376 Date: 1998-11-04 Reference number of document: ISO/IEC CD 6937 Committee identification: ISO/IEC JTC1/SC2 Secretariat: IPSJ/ITSCJ
More informationDo not start the test until instructed to do so!
Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices
More informationDo not start the test until instructed to do so!
Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices
More informationChapter 2 Bits, Data Types, and Operations
Chapter 2 Bits, Data Types, and Operations Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University How do we represent data in a computer?!
More informationData Representa5on. CSC 2400: Computer Systems. What kinds of data do we need to represent?
CSC 2400: Computer Systems Data Representa5on What kinds of data do we need to represent? - Numbers signed, unsigned, integers, floating point, complex, rational, irrational, - Text characters, strings,
More informationEE 109 Unit 3. Analog vs. Digital. Analog vs. Digital. Binary Representation Systems ANALOG VS. DIGITAL
3. 3. EE 9 Unit 3 Binary Representation Systems ANALOG VS. DIGITAL 3.3 3. Analog vs. Digital The analog world is based on continuous events. Observations can take on any (real) value. The digital world
More informationDo not start the test until instructed to do so!
Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices
More informationFundamentals of Programming
Fundamentals of Programming Lecture 2 Number Systems & Arithmetic Lecturer : Ebrahim Jahandar Some Parts borrowed from slides by IETC1011-Yourk University Common Number Systems System Base Symbols Used
More informationData Representa5on. CSC 2400: Computer Systems. What kinds of data do we need to represent?
CSC 2400: Computer Systems Data Representa5on What kinds of data do we need to represent? - Numbers signed, unsigned, integers, floating point, complex, rational, irrational, - Text characters, strings,
More informationHANDOUT: COMPUTER PARTS
HANDOUT: COMPUTER PARTS Because computers are so important to our lives, there is a constant need to design and develop new hardware, software, and systems. Have you used a computer before? I m sure you
More informationChapter 2 Bits, Data Types, and Operations
Chapter 2 Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize
More informationHandbook. CLIÉ handheld basic operations. Entering text on your CLIÉ. handheld. Exchanging and updating files/data using the HotSync operation
A-BL0-100-11 (1) CLIÉ handheld basic operations Entering text on your CLIÉ handheld Exchanging and updating files/data using the HotSync operation Customizing your CLIÉ handheld (Preferences) Exchanging
More information5/17/2009. Digitizing Discrete Information. Ordering Symbols. Analog vs. Digital
Chapter 8: Bits and the "Why" of Bytes: Representing Information Digitally Digitizing Discrete Information Fluency with Information Technology Third Edition by Lawrence Snyder Copyright 2008 Pearson Education,
More informationChapter 2 Bits, Data Types, and Operations
Chapter Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize two
More informationAutoLISP Module 6 Competency Test No.1
AutoCAD Self-paced ecourse AutoLISP Module 6 Competency Test No.1 Learning Outcomes When you have completed this module, you will be able to: 1 Complete a written exam and write an AutoLISP program on
More informationHandbook. Sony CLIÉ handheld basic operations. Entering data on your Sony CLIÉ. handheld. Exchanging and updating data using a HotSync operation
A-BG5-100-11 (1) Sony CLIÉ handheld basic operations Entering data on your Sony CLIÉ handheld Exchanging and updating data using a HotSync operation Customizing your Sony CLIÉ handheld (Preferences) Exchanging
More informationEE 109 Unit 2. Analog vs. Digital. Analog vs. Digital. Binary Representation Systems ANALOG VS. DIGITAL
EE 9 Unit Binary Representation Systems ANALOG VS. DIGITAL Analog vs. Digital The analog world is based on continuous events. Observations can take on any (real) value. The digital world is based on discrete
More informationIPDA014-2D. Embedded 2D Barcode Scan Engine. User Guide
IPDA014-2D Embedded 2D Barcode Scan Engine User Guide 1 Table Of Contents Chapter 1 Getting Started...8 Introduction...8 About This Guide...8 Barcode Scanning...9 Barcode Programming...9 Factory Defaults...9
More informationAPPENDIX 1 BRAILLE SYMBOLS AND INDICATORS. Braille Characters Letters Numbers Contractions Indicators Punctuation and Symbols
Appendix 1 Page 1 APPENDIX 1 BRAILLE SYMBOLS AND INDICATORS Braille Characters Letters Numbers Contractions Indicators Punctuation and Symbols Within each group, the braille signs are listed in alphabetic
More informationn NOPn Unary no operation trap U aaa NOP Nonunary no operation trap i
Instruction set Instruction Mnemonic Instruction Addressing Status Specifier Mode Bits 0000 0000 STOP Stop execution U 0000 0001 RET Return from CALL U 0000 0010 RETTR Return from trap U 0000 0011 MOVSPA
More informationUnit 3, Lesson 2 Data Types, Arithmetic,Variables, Input, Constants, & Library Functions. Mr. Dave Clausen La Cañada High School
Unit 3, Lesson 2 Data Types, Arithmetic,Variables, Input, Constants, & Library Functions Mr. Dave Clausen La Cañada High School Vocabulary Variable- A variable holds data that can change while the program
More informationISO/IEC JTC 1/SC 35. User Interfaces. Secretariat: Association Française de Normalisation (AFNOR)
ISO/IEC JTC 1/SC 35 N 0748 DATE: 2005-01-31 ISO/IEC JTC 1/SC 35 User Interfaces Secretariat: Association Française de Normalisation (AFNOR) TITLE: Proposal for "Swedish International" keyboard SOURCE:
More informationTELELINK I. A Warner Communications CompanyCI
TELELINK I A Warner Communications CompanyCI Every effort has been made to ensure that this manual accurately documents this product of the ATARI Computer Division However, because of the ongoing improvement
More informationExperiment 3. TITLE Optional: Write here the Title of your program.model SMALL This directive defines the memory model used in the program.
Experiment 3 Introduction: In this experiment the students are exposed to the structure of an assembly language program and the definition of data variables and constants. Objectives: Assembly language
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Pradip Vallathol and Junaid Khalid Midterm Examination 1 In Class (50 minutes) Friday, September
More informationSerial I/O. 4: Serial I/O. CET360 Microprocessor Engineering. J. Sumey
4: Serial I/O CET360 Microprocessor Engineering J. Sumey Introduction serial, i.e. bit-at-a-time, interfacing techniques are useful when parallel interfacing limitations become problematic distance limitations
More informationCS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON
CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Junaid Khalid and Pradip Vallathol Midterm Examination 1 In Class (50 minutes) Friday, September
More informationNumber System (Different Ways To Say How Many) Fall 2016
Number System (Different Ways To Say How Many) Fall 2016 Introduction to Information and Communication Technologies CSD 102 Email: mehwish.fatima@ciitlahore.edu.pk Website: https://sites.google.com/a/ciitlahore.edu.pk/ict/
More informationNumbers and Computers. Debdeep Mukhopadhyay Assistant Professor Dept of Computer Sc and Engg IIT Madras
Numbers and Computers Debdeep Mukhopadhyay Assistant Professor Dept of Computer Sc and Engg IIT Madras 1 Think of a number between 1 and 15 8 9 10 11 12 13 14 15 4 5 6 7 12 13 14 15 2 3 6 7 10 11 14 15
More informationChapter 8. Characters and Strings
Chapter 8 Characters and s OJECTIVES After you have read and studied this chapter, you should be able to Declare and manipulate data of the char data type. Write string processing programs using and uffer
More informationBrianHetrick.com Application Note AN-1.0 A Latin-1 and Latin-3 Characters US Keyboard Layout for Microsoft Windows
Application Note AN-1.0 A Latin-1 and Latin-3 Characters US Keyboard Layout for Microsoft Windows Goal The goal of this Application Note is to describe the construction of a Windows 2000/XP/Vista keyboard
More informationSMS API User Guide. Document Reference: October Version: 6
SMS API User Guide Document Reference: 8297 October 2016 Version: 6 Version Date Author Changes Number 1 Apr 2015 John Lindsay 2 Sep 2015 Sam Smith Branding updated USSD section added Postman updated 3
More informationNumber Systems for Computers. Outline of Introduction. Binary, Octal and Hexadecimal numbers. Issues for Binary Representation of Numbers
Outline of Introduction Administrivia What is computer architecture? What do computers do? Representing high level things in binary Data objects: integers, decimals, characters, etc. Memory locations (We
More informationCoding Theory. Networks and Embedded Software. Digital Circuits. by Wolfgang Neff
Coding Theory Networks and Embedded Software Digital Circuits by Wolfgang Neff Coding (1) Basic concepts Information Knowledge about something Abstract concept (just in mind, can not be touched) Data Representation
More informationPD1100 STAND-ALONE PROGRAMMING & USER S GUIDE. use the freedom
PD1100 STAND-ALONE ALPHANUMERIC POLE DISPLAY PROGRAMMING & USER S GUIDE use the freedom Forward The information contained in this user s guide is subject to change without notice. This Programming and
More informationEE 109 Unit 2. Binary Representation Systems
EE 09 Unit 2 Binary Representation Systems ANALOG VS. DIGITAL 2 3 Analog vs. Digital The analog world is based on continuous events. Observations can take on (real) any value. The digital world is based
More informationConnecting UniOP to Datalogic Barcode Readers
Connecting UniOP to Datalogic Barcode Readers This Technical Note contains the information needed to connect UniOP to Datalogic Barcode Scanners. Contents 1. Introduction...1 2. Designer setup...1 2.1
More informationCSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc.
9 February 2011 CSE-1520R Test #1 [B4] p. 1 of 8 CSE-1520R Test #1 Sur / Last Name: Given / First Name: Student ID: Instructor: Parke Godfrey Exam Duration: 45 minutes Term: Winter 2011 The exam is closed
More informationBinary Numbers. The Basics. Base 10 Number. What is a Number? = Binary Number Example. Binary Number Example
The Basics Binary Numbers Part Bit of This and a Bit of That What is a Number? Base Number We use the Hindu-Arabic Number System positional grouping system each position represents a power of Binary numbers
More informationCSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc.
9 February 2011 CSE-1520R Test #1 [7F] w/ answers p. 1 of 8 CSE-1520R Test #1 Sur / Last Name: Given / First Name: Student ID: Instructor: Parke Godfrey Exam Duration: 45 minutes Term: Winter 2011 The
More informationExercises Software Development I. 03 Data Representation. Data types, range of values, internal format, literals. October 22nd, 2014
Exercises Software Development I 03 Data Representation Data types, range of values, ernal format, literals October 22nd, 2014 Software Development I Wer term 2013/2014 Priv.-Doz. Dipl.-Ing. Dr. Andreas
More informationChapter 2 Bits, Data Types, and Operations
Chapter 2 Bits, Data Types, and Operations Original slides from Gregory Byrd, North Carolina State University Modified by Chris Wilcox, S. Rajopadhye Colorado State University How do we represent data
More informationLecture (09) x86 programming 8
Lecture (09) x86 programming 8 By: Dr. Ahmed ElShafee 1 Basic Input Output System BIOS BIOS refers to a set of procedures or functions that enable the programmer have access to the hardware of the computer.
More informationOberon Data Types. Matteo Corti. December 5, 2001
Oberon Data Types Matteo Corti corti@inf.ethz.ch December 5, 2001 1 Introduction This document is aimed at students without any previous programming experience. We briefly describe some data types of the
More informationUnit 3. Analog vs. Digital. Analog vs. Digital ANALOG VS. DIGITAL. Binary Representation
3.1 3.2 Unit 3 Binary Representation ANALOG VS. DIGITAL 3.3 3.4 Analog vs. Digital The analog world is based on continuous events. Observations can take on (real) any value. The digital world is based
More information3.1. Unit 3. Binary Representation
3.1 Unit 3 Binary Representation ANALOG VS. DIGITAL 3.2 3.3 Analog vs. Digital The analog world is based on continuous events. Observations can take on (real) any value. The digital world is based on discrete
More informationAPPENDIX B. ASSEMBLER DIRECTIVE SUMMARY
APPENDIX B. ASSEMBLER DIRECTIVE SUMMARY Assembler directives are summarized alphabetically in this the contents of directive fields. The following terms are used 10 describe NOTATION Term Expression Numerical
More informationVisual KeyMaker. Programming Software Instructions. Contents A B
Visual KeyMaker Programming Software Instructions for TLM2260 Programmable Keyboard REV.E May 31, 2007 Quick Start Map A B Introduction Install Visual KeyMaker Contents C Connect Programmable Keyboard
More informationLC UNI - SSI PUMPS. Clarity Control Module. Code/Rev.: M038/40D Date:
LC UNI - SSI PUMPS Clarity Control Module ENG Code/Rev.: M038/40D Date: 24.10.2017 Phone: +420 251 013 400 DataApex Ltd. Fax: +420 251 013 401 Petrzilkova 2583/13 clarity@dataapex.com 158 00 Prague 5 www.dataapex.com
More informationFA269 - DIGITAL MEDIA AND CULTURE
FA269 - DIGITAL MEDIA AND CULTURE ST. LAWRENCE UNIVERSITY a. hauber http://blogs.stlawu.edu/digitalmedia DIGITAL TECHNICAL PRIMER INCLUDED HERE ARE THE FOLLOWING TOPICS A. WHAT IS A COMPUTER? B. THE DIFFERENCE
More informationChapter 2 Number System
Chapter 2 Number System Embedded Systems with ARM Cortext-M Updated: Tuesday, January 16, 2018 What you should know.. Before coming to this class Decimal Binary Octal Hex 0 0000 00 0x0 1 0001 01 0x1 2
More informationNumber Representations
Simple Arithmetic [Arithm Notes] Number representations Signed numbers Sign-magnitude, ones and twos complement Arithmetic Addition, subtraction, negation, overflow MIPS instructions Logic operations MIPS
More informationBanner 8 Using International Characters
College of William and Mary Banner 8 Using International Characters A Reference and Training Guide Banner Support January 23, 2009 Table of Contents Windows XP Keyboard Setup 3 VISTA Keyboard Setup 7 Creating
More informationTN-191. Use a Video Display Terminal for Enhanced Program Debugging and Operation
Mark Durgin - SCIDYNE Corporation TN-191 Use a Video Display Terminal for Enhanced Program Debugging and Operation Introduction This Tech Note describes how a Video Display Terminal (a.k.a. "VDT" or just
More informationWSR Commands. WSR Commands: Mouse Grid: What can I say?: Will show a list of applicable commands
WSR Commands Updated September 10, 2010 WSR Commands: What can I say?: Will show a list of applicable commands Refresh speech commands: Updates the list of speech commands that are currently available
More informationfile://h:\cc51\private\jtc%201%20sc%2022\abstract1.htm
Page 1 of 1 From: Mailbox ITTF [ittf@iso.org] Sent: Thursday, March 21, 2002 8:10 AM To: Lisa Rajchel; Jean Stride; Mann Douglas D; FRANCE.LAFARGUE; Jean-Normand Drouin; Sara Hafele; Yukiko Ogura; Jooran
More informationRepresenting Things With Bits
Representing Things With Bits Introduction I said above, that what a bit pattern meant depended upon the context. We often want to represent things like characters and numbers in a bit pattern so that
More informationSAP SMS 365, enterprise service SMTP Technical Specification October 2013
SAP SMS 365, enterprise service SMTP Technical Specification October 2013 TABLE OF CONTENTS 1 INTRODUCTION... 5 2 SENDING SMTP MESSAGES... 5 2.1 MSISDN Section... 5 2.1.1 List... 5 2.2 Message Section...
More informationASSIGNMENT 5 TIPS AND TRICKS
ASSIGNMENT 5 TIPS AND TRICKS linear-feedback shift registers Java implementation a simple encryption scheme http://princeton.edu/~cos26 Last updated on /26/7 : PM Goals OOP: implement a data type; write
More informationCPS 104 Computer Organization and Programming Lecture-2 : Data representations,
CPS 104 Computer Organization and Programming Lecture-2 : Data representations, Sep. 1, 1999 Dietolf Ramm http://www.cs.duke.edu/~dr/cps104.html CPS104 Lec2.1 GK&DR Fall 1999 Data Representation Computers
More informationOperating Instructions
Chapter 1 Basic operations of your Sony CLIÉ Handheld Chapter 2 Using basic applications Operating Instructions Chapter 3 Exchanging and updating data using a HotSync operation Chapter 4 Communicating
More information