5 Commits

Author SHA1 Message Date
Nick Dyer
34d934fb4a default res now 240x240 2021-07-03 03:28:11 -04:00
Nick Dyer
7def89db02 added backlight test to dev menu 2021-07-02 01:51:52 -04:00
Nick Dyer
d753058352 added dev to launch, changed default resolution to 240x240 2021-07-02 01:48:36 -04:00
Nick Dyer
4aa8af306c added backlight control in gpio_handler.py 2021-07-02 01:47:51 -04:00
Nick Dyer
195abbc5eb added new fake functions and scrips to FakeGPIO.py 2021-07-02 01:47:19 -04:00
5 changed files with 54 additions and 7 deletions

View File

@@ -6,8 +6,12 @@ the hardware can be run without the actual hardware.
# Constants used by RPi.GPIO
BOARD = 0
IN = 0
OUT = 1
FALLING = 0
HIGH = 1
LOW = 0
def setmode(new_mode):
"""
@@ -28,6 +32,16 @@ def setup(channel, mode, initial=None, pull_up_down=None):
pass
def output(channel, set):
"""
Fake function to set a fake channel output.
:param channel:
:param set:
:return:
"""
pass
def add_event_detect(channel, edge_type, callback=None, bouncetime=0):
"""
Fake function to add a non-existent event detect.
@@ -43,7 +57,7 @@ def event_detected(channel):
"""
Fake function to detect an event. Always returns false.
:param channel:
:return:
:return: False
"""
return False

View File

@@ -29,6 +29,15 @@ def run_button_test():
GPIOHandler.setup()
def backlight_test():
"""
Turns off the backlight for 5 seconds.
"""
GPIOHandler.turn_off_backlight()
time.sleep(5)
GPIOHandler.turn_on_backlight()
def clear_screen():
"""
Clears the screen.
@@ -55,9 +64,9 @@ def quit_menu():
def quit_with_error():
"""
Quits the menu with error code 3.
Quits the menu with error code 2.
"""
exit(3)
exit(2)
def change_menu(new_menu):
@@ -96,6 +105,7 @@ def main():
main_menu = Menu('Pocket Friends Dev Menu')
main_menu.add_option(Menu.Option('Start Game', start_game))
main_menu.add_option(Menu.Option('Button Test', run_button_test))
main_menu.add_option(Menu.Option('Backlight Test', backlight_test))
main_menu.add_option(Menu.Option('Restart Dev Menu', quit_with_error))
main_menu.add_option(Menu.Option('Shutdown Pi', change_menu, 'shutdown'))
main_menu.add_option(Menu.Option('Restart Pi', change_menu, 'restart'))

View File

@@ -970,7 +970,7 @@ def game(screen_size):
draw()
def main(screen_size=320):
def main(screen_size=240):
"""
Calls the game() function to start the game.
"""

View File

@@ -24,6 +24,9 @@ class Constants:
'j_l': 13, # Joystick left
'j_r': 16 # Joystick right
}
hardware = {
'backlight': 37
}
class GPIOHandler:
@@ -54,6 +57,8 @@ class GPIOHandler:
GPIO.add_event_detect(Constants.buttons.get('j_l'), GPIO.FALLING)
GPIO.add_event_detect(Constants.buttons.get('j_r'), GPIO.FALLING)
GPIO.setup(Constants.hardware.get('backlight'), GPIO.OUT, initial=GPIO.HIGH)
@staticmethod
def teardown():
"""
@@ -69,3 +74,17 @@ class GPIOHandler:
:return: True if the button is has been pressed, False otherwise
"""
return GPIO.event_detected(button)
@staticmethod
def turn_on_backlight():
"""
Turns on the TFT backlight.
"""
GPIO.output(Constants.hardware.get('backlight'), GPIO.HIGH)
@staticmethod
def turn_off_backlight():
"""
Turns off the TFT backlight.
"""
GPIO.output(Constants.hardware.get('backlight'), GPIO.LOW)

View File

@@ -4,6 +4,7 @@ import argparse
import pygame
import sys
from pocket_friends.game_files.game import main as game_main
from pocket_friends.development.dev_menu import main as dev_main
def main():
@@ -16,7 +17,8 @@ def main():
# Adds parser arguments.
parser.add_argument('-D', '--delete-save', action='store_true', help='Deletes the save file if it exists.')
parser.add_argument('-s', '--size', type=int, default=320, help='Sets the size of the window.')
parser.add_argument('-s', '--size', type=int, default=240, help='Sets the size of the window.')
parser.add_argument('--dev', action='store_true', help='Deletes the save file if it exists.')
# Parse the arguments given
args = parser.parse_args()
@@ -34,8 +36,10 @@ def main():
# Set the screen size
screen_size = int(args.size)
# Start the game
game_main(screen_size)
if not args.dev:
game_main(screen_size)
else:
dev_main()
# Cleanup
pygame.quit()