Subversion Repositories libIgnTiming

Rev

Rev 7 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. // This file deals with looking up ignition timing
  2.  
  3. #pragma once
  4. #include "stdint.h"
  5. #include "libIgnTiming/basemap.h"
  6.  
  7. #if defined __cplusplus
  8. extern "C"
  9. {
  10. #endif
  11.  
  12.  
  13.     /// @brief Get timing adjustment value
  14.     /// @return Timing adjustment value
  15.     uint8_t getTimingAdjust();
  16.  
  17.     /// @brief Set the timing adjustment value
  18.     /// @param adjust Timing value
  19.     void setTimingAdjust(int8_t adjust);
  20.  
  21.     /// @brief Get timing map RPM column heading
  22.     /// @param i column number
  23.     /// @return Value at that position
  24.     int16_t getRpmMap(unsigned int i);
  25.  
  26.     /// @brief Set the timing map RPM column heading
  27.     /// @param i column number
  28.     /// @param value Value to place at that position
  29.     void setRpmMap(unsigned int i, uint16_t value);
  30.  
  31.     /// @brief Set vacuum mapping column heading (row actually)
  32.     /// @param i row number
  33.     /// @param value Value to place at that position
  34.     void setVacuumMap(unsigned int i, uint16_t value);
  35.  
  36.     /// @brief Get vacuum mapping column heading (row actually)
  37.     /// @param i row number
  38.     uint16_t getVacuumMap(unsigned int i);
  39.  
  40.     /// @brief Set the timing value
  41.     /// @param vacuumIndex
  42.     /// @param rpmIndex
  43.     /// @param value
  44.     void setTiming(unsigned int vacuumIndex, unsigned int rpmIndex, uint8_t value);
  45.  
  46.     /// @brief Get the timing value
  47.     /// @param vacuumIndex
  48.     /// @param rpmIndex
  49.     /// @return value
  50.     uint8_t getTiming(unsigned int vacuumIndex, unsigned int rpmIndex);
  51.  
  52.     /// @brief Lookup ignition timing
  53.     /// @param rpm Engine Speed in RPM
  54.     /// @param vacuumMb Ported vacuum in millibars of vacuum : between about 0 and 700 usually
  55.     /// @return Vacuum advance in degrees * TIMING_SCALE;
  56.     int mapTiming(int rpm, int vacuumMb);
  57.  
  58.     /// @brief Set the base timing map
  59.     /// @param map Pointer to timing map table
  60.     void setBaseMap(timingTable_t *map);
  61.  
  62. #if defined __cplusplus
  63. }
  64. #endif
  65.