The example program for mbed pin-compatible platforms
Fork of mbed_blinky by
Diff: MorseCharacter.cpp
- Revision:
- 8:ec3e22e9100e
- Parent:
- 7:b1e0b6f381ba
- Child:
- 9:9088b8a51286
--- a/MorseCharacter.cpp Sun Aug 24 01:47:19 2014 +0000 +++ b/MorseCharacter.cpp Sun Aug 24 02:12:15 2014 +0000 @@ -1,4 +1,25 @@ #include "MorseCharacter.h" +MorseCharacter::MorseCharacter(char character) { + if(character >= '0' && character <= '9') + mSequence = numbers[character-'0']; + if(character >= 'a' && character <= 'z') + mSequence = letters[character-'a']; + if(character >= 'A' && character <= 'Z') + mSequence = letters[character-'A']; + else + mSequence = 0x00; +} +char MorseCharacter::getNumberOfParts() { + return this->mSequence >> 5; +} +char MorseCharacter::getPart(int partNumber) { + char length = this->getNumberOfParts(); + if(partNumber >= length) { + return 0x00; // error or space + } else { + return (this->mSequence >> (length-partNumber)) & 0x01; // 1:dash, 0:dit + } +} const char MorseCharacter::numbers[] = { 0xBF, // 0 @@ -40,25 +61,3 @@ 0x96, // Y 0x98 // Z }; - -MorseCharacter::MorseCharacter(char character) { - if(character >= '0' && character <= '9') - mSequence = numbers[character-'0']; - if(character >= 'a' && character <= 'z') - mSequence = letters[character-'a']; - if(character >= 'A' && character <= 'Z') - mSequence = letters[character-'A']; - else - mSequence = 0x00; -} -char MorseCharacter::getNumberOfParts() { - return this->mSequence >> 5; -} -char MorseCharacter::getPart(int partNumber) { - char length = this->getNumberOfParts(); - if(partNumber >= length) { - return 0xFF; // error or space - } else { - return (this->mSequence >> (length-partNumber)) & 0x01; // 1:dash, 0:dit - } -}