Skip to content

Commit

Permalink
Merge pull request #190 from devMashHub/master
Browse files Browse the repository at this point in the history
Fix Issue #185.
  • Loading branch information
pi1541 authored Dec 27, 2020
2 parents 2f999c7 + 91a2131 commit 9c1f832
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 4 deletions.
6 changes: 5 additions & 1 deletion options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -132,9 +132,13 @@ GraphIEC = 1
//
// Please see dmRotary.h for full implementation details.
//
// Updated to address issue #185 and allow for inversion of rotary operation
// for certain encoders. - 08/13/2020 by Geo...
//
//RotaryEncoderEnable = 1
//RotaryEncoderInvert = 1

// This option will display the temperature of the Pi's CPU.
// It should be about 52�C anything above 65�C is bad and there is something wrong with your hardware
// It should be about 52�C anything above 65�C is bad and there is something wrong with your hardware
//DisplayTemperature = 1

3 changes: 2 additions & 1 deletion src/iec_bus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,8 @@ unsigned IEC_Bus::gplev0;
//ROTARY: Added for rotary encoder support - 09/05/2019 by Geo...
RotaryEncoder IEC_Bus::rotaryEncoder;
bool IEC_Bus::rotaryEncoderEnable;

//ROTARY: Added for rotary encoder inversion (Issue#185) - 08/13/2020 by Geo...
bool IEC_Bus::rotaryEncoderInvert;

void IEC_Bus::ReadGPIOUserInput( int buttonCount)
{
Expand Down
18 changes: 17 additions & 1 deletion src/iec_bus.h
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,15 @@ class IEC_Bus
//ROTARY: Added for rotary encoder support - 09/05/2019 by Geo...
if (IEC_Bus::rotaryEncoderEnable == true)
{
IEC_Bus::rotaryEncoder.Initialize(RPI_GPIO22, RPI_GPIO23, RPI_GPIO27);
//ROTARY: Added for rotary encoder inversion (Issue#185) - 08/13/2020 by Geo...
if (IEC_Bus::rotaryEncoderInvert == true)
{
IEC_Bus::rotaryEncoder.Initialize(RPI_GPIO23, RPI_GPIO22, RPI_GPIO27);
}
else
{
IEC_Bus::rotaryEncoder.Initialize(RPI_GPIO22, RPI_GPIO23, RPI_GPIO27);
}
}

}
Expand Down Expand Up @@ -670,6 +678,12 @@ class IEC_Bus
rotaryEncoderEnable = value;
}

//ROTARY: Added for rotary encoder inversion (Issue#185) - 08/13/2020 by Geo...
static inline void SetRotaryEncoderInvert(bool value)
{
rotaryEncoderInvert = value;
}

// CA1 input ATN
// If CA1 is ever set to output
// - CA1 will start to drive pb7
Expand Down Expand Up @@ -737,6 +751,8 @@ class IEC_Bus
//ROTARY: Added for rotary encoder support - 09/05/2019 by Geo...
static RotaryEncoder rotaryEncoder;
static bool rotaryEncoderEnable;
//ROTARY: Added for rotary encoder inversion (Issue#185) - 08/13/2020 by Geo...
static bool rotaryEncoderInvert;

};
#endif
2 changes: 2 additions & 0 deletions src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1940,6 +1940,8 @@ extern "C"
IEC_Bus::SetIgnoreReset(options.IgnoreReset());
//ROTARY: Added for rotary encoder support - 09/05/2019 by Geo...
IEC_Bus::SetRotaryEncoderEnable(options.RotaryEncoderEnable());
//ROTARY: Added for rotary encoder inversion (Issue#185) - 08/13/2020 by Geo...
IEC_Bus::SetRotaryEncoderInvert(options.RotaryEncoderInvert());
#if not defined(EXPERIMENTALZERO)
if (!options.SoundOnGPIO())
{
Expand Down
3 changes: 2 additions & 1 deletion src/options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ Options::Options(void)
, buttonBack(4)
, buttonInsert(5)
, rotaryEncoderEnable(0) //ROTARY:

, rotaryEncoderInvert(0) //ROTARY:
{
autoMountImageName[0] = 0;
strcpy(ROMFontName, "chargen");
Expand Down Expand Up @@ -251,6 +251,7 @@ void Options::Process(char* buffer)
ELSE_CHECK_DECIMAL_OPTION(buttonBack)
ELSE_CHECK_DECIMAL_OPTION(buttonInsert)
ELSE_CHECK_DECIMAL_OPTION(rotaryEncoderEnable) //ROTARY:
ELSE_CHECK_DECIMAL_OPTION(rotaryEncoderInvert) //ROTARY:
else if ((strcasecmp(pOption, "AutoBaseName") == 0))
{
strncpy(autoBaseName, pValue, 255);
Expand Down
4 changes: 4 additions & 0 deletions src/options.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,8 @@ class Options : public TextParser

//ROTARY: Added for rotary encoder support - 09/05/2019 by Geo...
inline unsigned int RotaryEncoderEnable() const { return rotaryEncoderEnable; }
//ROTARY: Added for rotary encoder inversion (Issue#185) - 08/13/2020 by Geo...
inline unsigned int RotaryEncoderInvert() const { return rotaryEncoderInvert; }

// Page up and down will jump a different amount based on the maximum number rows displayed.
// Perhaps we should use some keyboard modifier to the the other screen?
Expand Down Expand Up @@ -191,6 +193,8 @@ class Options : public TextParser

//ROTARY: Added for rotary encoder support - 09/05/2019 by Geo...
unsigned int rotaryEncoderEnable;
//ROTARY: Added for rotary encoder inversion (Issue#185) - 08/13/2020 by Geo...
unsigned int rotaryEncoderInvert;

};
#endif

0 comments on commit 9c1f832

Please sign in to comment.