PlainDSP M2M Communication Experimental Details This document describes the machine-to-machine (M2M) communication experiments using PlainDSP.

Size: px
Start display at page:

Download "PlainDSP M2M Communication Experimental Details This document describes the machine-to-machine (M2M) communication experiments using PlainDSP."

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 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 information

OOstaExcel.ir. J. Abbasi Syooki. HTML Number. Device Control 1 (oft. XON) Device Control 3 (oft. Negative Acknowledgement

OOstaExcel.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 information

Appendix C. Numeric and Character Entity Reference

Appendix 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 information

1. Character/String Data, Expressions & Intrinsic Functions. Numeric Representation of Non-numeric Values. (CHARACTER Data Type), Part 1

1. 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 information

FD-011WU. 2D Barcode Reader User Guide V1.6CC

FD-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 information

2a. 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 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 information

Characters Lesson Outline

Characters 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 information

MK D Imager Barcode Scanner Configuration Guide

MK 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 information

Number Systems II MA1S1. Tristan McLoughlin. November 30, 2013

Number 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 information

1.1. INTRODUCTION 1.2. NUMBER SYSTEMS

1.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 information

CMSC 313 Lecture 03 Multiple-byte data big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes

CMSC 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 information

SPEECH RECOGNITION COMMON COMMANDS

SPEECH 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 information

The following are the data types used in the C programming language:

The 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 information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012

CMSC 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 information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, SPRING 2013

CMSC 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 information

EXPERIMENT 8: Introduction to Universal Serial Asynchronous Receive Transmit (USART)

EXPERIMENT 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 information

Chemistry Hour Exam 2

Chemistry 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 information

Zeichen-Referenztabelle (1-127)

Zeichen-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 information

BD-6500BT Bluetooth 2D Barcode Scanner Configuration Guide

BD-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 information

Chapter 3. Information Representation

Chapter 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 information

EXPERIMENT 7: Introduction to Universal Serial Asynchronous Receive Transmit (USART)

EXPERIMENT 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 information

DATA REPRESENTATION. Data Types. Complements. Fixed Point Representations. Floating Point Representations. Other Binary Codes. Error Detection Codes

DATA 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 information

2D Barcode Reader User Guide V 1.2.1

2D 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 information

Characters & Strings in C

Characters & 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 information

Character Entity References in HTML 4 and XHTML 1.0

Character 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 information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012

CMSC 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 information

If your CNC machine memory is full, the PocketDNC gives you more storage, enabling you to store and reload proven programs at a later date.

If 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 information

SMS API TECHNICAL SPECIFICATION

SMS 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 information

Fundamental Data Types

Fundamental 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 information

S-Series Sensor ASCII Protocol v8.1.0

S-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 information

The Use of Reserved (= Undefined) 1252 Code Page Slots in TrueType Fonts

The 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 information

Data Representation and Binary Arithmetic. Lecture 2

Data 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 information

Bits 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. 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 information

Request for Comments: XXXX November Registration of a Georgian Character Set draft-giasher-geostd8-00.txt

Request 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 information

2D Hand-held Barcode Scanner User Guide

2D 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 information

Password Management Guidelines for Cisco UCS Passwords

Password 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 information

Fundamentals of Programming (C)

Fundamentals 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 information

Mounting Dimensions / Viewing 2 Mounting Options 3. Wiring Configuration 4. Quick Set up Procedure 5. Changing Intensity 6.

Mounting 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 information

J2 LCM Customer Display. Manual

J2 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 information

Information technology Coded graphic character set for text communication Latin alphabet

Information 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 information

Do not start the test until instructed to do so!

Do 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 information

Do not start the test until instructed to do so!

Do 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 information

Chapter 2 Bits, Data Types, and Operations

Chapter 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 information

Data Representa5on. CSC 2400: Computer Systems. What kinds of data do we need to represent?

Data 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 information

EE 109 Unit 3. Analog vs. Digital. Analog vs. Digital. Binary Representation Systems ANALOG VS. DIGITAL

EE 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 information

Do not start the test until instructed to do so!

Do 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 information

Fundamentals of Programming

Fundamentals 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 information

Data Representa5on. CSC 2400: Computer Systems. What kinds of data do we need to represent?

Data 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 information

HANDOUT: COMPUTER PARTS

HANDOUT: 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 information

Chapter 2 Bits, Data Types, and Operations

Chapter 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 information

Handbook. CLIÉ handheld basic operations. Entering text on your CLIÉ. handheld. Exchanging and updating files/data using the HotSync operation

Handbook. 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 information

5/17/2009. Digitizing Discrete Information. Ordering Symbols. Analog vs. Digital

5/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 information

Chapter 2 Bits, Data Types, and Operations

Chapter 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 information

AutoLISP Module 6 Competency Test No.1

AutoLISP 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 information

Handbook. Sony CLIÉ handheld basic operations. Entering data on your Sony CLIÉ. handheld. Exchanging and updating data using a HotSync operation

Handbook. 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 information

EE 109 Unit 2. Analog vs. Digital. Analog vs. Digital. Binary Representation Systems ANALOG VS. DIGITAL

EE 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 information

IPDA014-2D. Embedded 2D Barcode Scan Engine. User Guide

IPDA014-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 information

APPENDIX 1 BRAILLE SYMBOLS AND INDICATORS. Braille Characters Letters Numbers Contractions Indicators Punctuation and Symbols

APPENDIX 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 information

n NOPn Unary no operation trap U aaa NOP Nonunary no operation trap i

n 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 information

Unit 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 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 information

ISO/IEC JTC 1/SC 35. User Interfaces. Secretariat: Association Française de Normalisation (AFNOR)

ISO/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 information

TELELINK I. A Warner Communications CompanyCI

TELELINK 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 information

Experiment 3. TITLE Optional: Write here the Title of your program.model SMALL This directive defines the memory model used in the program.

Experiment 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 information

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON

CS/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 information

Serial I/O. 4: Serial I/O. CET360 Microprocessor Engineering. J. Sumey

Serial 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 information

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON

CS/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 information

Number System (Different Ways To Say How Many) Fall 2016

Number 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 information

Numbers 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 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 information

Chapter 8. Characters and Strings

Chapter 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 information

BrianHetrick.com Application Note AN-1.0 A Latin-1 and Latin-3 Characters US Keyboard Layout for Microsoft Windows

BrianHetrick.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 information

SMS API User Guide. Document Reference: October Version: 6

SMS 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 information

Number Systems for Computers. Outline of Introduction. Binary, Octal and Hexadecimal numbers. Issues for Binary Representation of Numbers

Number 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 information

Coding Theory. Networks and Embedded Software. Digital Circuits. by Wolfgang Neff

Coding 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 information

PD1100 STAND-ALONE PROGRAMMING & USER S GUIDE. use the freedom

PD1100 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 information

EE 109 Unit 2. Binary Representation Systems

EE 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 information

Connecting UniOP to Datalogic Barcode Readers

Connecting 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 information

CSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc.

CSE-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 information

Binary Numbers. The Basics. Base 10 Number. What is a Number? = Binary Number Example. Binary Number Example

Binary 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 information

CSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc.

CSE-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 information

Exercises 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, 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 information

Chapter 2 Bits, Data Types, and Operations

Chapter 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 information

Lecture (09) x86 programming 8

Lecture (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 information

Oberon Data Types. Matteo Corti. December 5, 2001

Oberon 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 information

Unit 3. Analog vs. Digital. Analog vs. Digital ANALOG VS. DIGITAL. Binary Representation

Unit 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 information

3.1. Unit 3. Binary Representation

3.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 information

APPENDIX B. ASSEMBLER DIRECTIVE SUMMARY

APPENDIX 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 information

Visual KeyMaker. Programming Software Instructions. Contents A B

Visual 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 information

LC UNI - SSI PUMPS. Clarity Control Module. Code/Rev.: M038/40D Date:

LC 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 information

FA269 - DIGITAL MEDIA AND CULTURE

FA269 - 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 information

Chapter 2 Number System

Chapter 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 information

Number Representations

Number 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 information

Banner 8 Using International Characters

Banner 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 information

TN-191. Use a Video Display Terminal for Enhanced Program Debugging and Operation

TN-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 information

WSR Commands. WSR Commands: Mouse Grid: What can I say?: Will show a list of applicable commands

WSR 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 information

file://h:\cc51\private\jtc%201%20sc%2022\abstract1.htm

file://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 information

Representing Things With Bits

Representing 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 information

SAP SMS 365, enterprise service SMTP Technical Specification October 2013

SAP 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 information

ASSIGNMENT 5 TIPS AND TRICKS

ASSIGNMENT 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 information

CPS 104 Computer Organization and Programming Lecture-2 : Data representations,

CPS 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 information

Operating Instructions

Operating 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