Libraries and Example of mbed parallel bus using I2C port expanders

Dependencies:   HDSP253X mbed PCF8574_Bus

Revision:
6:aaefa04f06be
Parent:
5:38b853bb1afa
Child:
7:8680b8b718c8
--- a/STANAG_Codes.cpp	Fri Aug 26 20:35:11 2011 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/* STANAG Codes - LTD STANAG Codes
- * Copyright (c) 2011 Wim Huiskamp
- *
- * Released under the MIT License: http://mbed.org/license/mit
- *
- * version 0.2 Initial Release
-*/
-#include "mbed.h"
-#include "STANAG_Codes.h"
-
-
-/** Create a STANAG Codes object
- *
- * @param  none
- * @brief
-*/
-STANAG_Codes::STANAG_Codes() {
-
-  _init(); 
-}
-
-/** Init STANAG_Codes()
- * @param
- * @returns 
- */
-void STANAG_Codes::_init(void) {
-
-  for (_codeIdx=0; _codeIdx < D_STANAG_CODES; _codeIdx++) {
- 
-    for (_digitIdx=0; _digitIdx < D_STANAG_DIGITS; _digitIdx++) {
-      _codes[_codeIdx][_digitIdx] = STANAG_DEFAULTS[_codeIdx][_digitIdx];
-    }
-  }
-
-#if(0)
-  for (_codeIdx=0; _codeIdx < D_STANAG_CODES; _codeIdx++) {
-     _codes[_codeIdx] = STANAG_DEFAULTS[_codeIdx];
-  }
-#endif
-
-  _codeIdx = 0;
-  _digitIdx = 0;
-}
-
-
-/** Set the code Index of the selected STANAG Code
- * @param uint8_t codeIdx
- * @returns value of STANAG code Index
- */
-uint8_t STANAG_Codes::setCodeIdx(uint8_t codeIdx) {
-  
-  //Check upper boundary
-  if (codeIdx > D_STANAG_CODES-1) {
-    _codeIdx = D_STANAG_CODES-1;  
-  }
-  else {
-    _codeIdx = codeIdx;
-  };
- 
-  return _codeIdx;
-}
-    
-    
-/** Get code Index of the selected STANAG Code
- * @param 
- * @returns value of STANAG code Index
- */
-uint8_t STANAG_Codes::getCodeIdx() {
- 
-  return _codeIdx;
-}
-    
-
-/** Increment code Index of the selected STANAG Code
- * @param 
- * @returns value of STANAG code Index
- */
-uint8_t STANAG_Codes::incCodeIdx() {
-
-  _codeIdx++;
-  
-  //Check upper boundary and wrap around
-  if (_codeIdx > D_STANAG_CODES-1) {
-      _codeIdx = 0;  
-  };
- 
-  return _codeIdx;
-}
-
-
-/** Set the digit index of the selected STANAG Code
- * @param uint8_t digitIdx
- * @returns value of the digit index
- */
-uint8_t STANAG_Codes::setDigitIdx(uint8_t digitIdx) {
-  
-  //Check upper boundary
-  if (digitIdx > D_STANAG_DIGITS-1) {
-    _digitIdx = D_STANAG_DIGITS-1;  
-  }
-  else {
-    _digitIdx = digitIdx;
-  };
- 
-  return _digitIdx;
-}
-    
-    
-/** Get digit Index of the selected STANAG Code
- * @param 
- * @returns value of digit Index
- */
-uint8_t STANAG_Codes::getDigitIdx() {
- 
-  return _digitIdx;
-}
-    
-
-/** Increment digit Index of the selected STANAG Code
- * @param 
- * @returns value of digit Index
- */
-uint8_t STANAG_Codes::incDigitIdx() {
-
-  _digitIdx++;
-  
-  //Check upper boundary and wrap around
-  if (_digitIdx > D_STANAG_DIGITS-1) {
-      _digitIdx = 0;  
-  };
- 
-  return _digitIdx;
-}
-
-
-/** Increment Digit of the selected STANAG Code
- * @param 
- * @returns value of Digit
- */
-uint8_t STANAG_Codes::incDigit() {
-  uint8_t digit;
-  
-  //Get digit value and increment
-  digit = _codes[_codeIdx][_digitIdx];
-  digit++;
-  
-//NOTE: maybe additional checks required. Valid codes seem to start with a "1" ???
- 
-  //Check upper boundary and wrap around
-  if (digit > 9) {
-    digit=0;   
-  };
- 
-  // Save updated digit
-  _codes[_codeIdx][_digitIdx]=digit;
-  
-  return digit;
-}
-
-   
-
-/** Compute the integer value of the selected STANAG Code
- * @param uint8_t codeIdx
- * @returns integer value of STANAG code
- */
-int STANAG_Codes::getCode(uint8_t codeIdx) {
-  uint8_t digitIdx;
-  int code;
-  
-  code=0;
-  for (digitIdx=0; digitIdx < D_STANAG_DIGITS; digitIdx++) {
-
-    // ..., thousands, hundreds, tens, units    
-    code = code + _codes[codeIdx][digitIdx] * DECIMALS[D_STANAG_DIGITS - 1 - digitIdx];    
-  };  
-    
-  return code;
-}     
-
-
-/** Compute the integer value of the currently selected STANAG Code
- * @param 
- * @returns integer value of STANAG code
- */
-int STANAG_Codes::getCode() {
-    
-  return getCode(_codeIdx);
-}     
-
-
-/** Compute and Set the digits of the selected STANAG Code
- * @param uint8_t codeIdx
- * @param int code 
- * @returns valid integer value of STANAG code
- */
-int STANAG_Codes::setCode(uint8_t codeIdx, int code) {
-  uint8_t digitIdx;
-  int temp;
-
-  //Check lower boundary
-  if (code<0) {
-    code=0;
-  }
-  else {
-    //Check upper boundary
-    if (code > DECIMALS[D_STANAG_DIGITS]) {
-      code = DECIMALS[D_STANAG_DIGITS] - 1;
-    }
-  };
-
-  // Extract decimal digits
-  temp=code;
-  for (digitIdx=0; digitIdx < D_STANAG_DIGITS; digitIdx++) {
-    
-    // ..., thousands, hundreds, tens, units
-    _codes[codeIdx][digitIdx] = temp / DECIMALS[D_STANAG_DIGITS - 1 - digitIdx];  // Extract most significant decimal digit
-    temp = temp % DECIMALS[D_STANAG_DIGITS - 1 - digitIdx];                       // Remainder for next digit  
-  };  
-    
-  return code;
-}     
-
-
-/** Compute and Set the digits of the currently selected STANAG Code
- * @param int code 
- * @returns valid integer value of STANAG code
- */
-int STANAG_Codes::setCode(int code) {
-    
-  return setCode(_codeIdx, code);
-}     
-
-
-
-#if(0)
-int STANAG_Codes::setCodeDigits(uint8_t codeIdx, STANAG_Code_t STANAG_code) {
-}    
-
-STANAG_Code_t STANAG_Codes::getCodeDigits(uint8_t codeIdx) {
-} 
-#endif
- 
-
-
-/*****************************************************************************/
-/******************************  END OF FILE  ********************************/
-/*****************************************************************************/
-
-