diff options
Diffstat (limited to 'firmware/target/sh/archos/uart-archos.c')
-rw-r--r-- | firmware/target/sh/archos/uart-archos.c | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/firmware/target/sh/archos/uart-archos.c b/firmware/target/sh/archos/uart-archos.c deleted file mode 100644 index d17678f812..0000000000 --- a/firmware/target/sh/archos/uart-archos.c +++ /dev/null @@ -1,167 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2002 by Alan Korr & Nick Robinson - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ -#include <stdio.h> -#include <stdlib.h> -#include <stdarg.h> - -#include "config.h" -#include "button.h" -#include "cpu.h" -#include "system.h" -#include "kernel.h" -#include "serial.h" - -/* FIX: this doesn't work on iRiver or iPod yet */ -/* iFP7xx has no remote */ - -/* Received byte identifiers */ -#define PLAY 0xC1 -#define STOP 0xC2 -#define PREV 0xC4 -#define NEXT 0xC8 -#define VOLUP 0xD0 -#define VOLDN 0xE0 - -void serial_setup (void) -{ - /* Set PB10 function to serial Rx */ - PBCR1 = (PBCR1 & 0xffcf) | 0x0020; - - SMR1 = 0x00; - SCR1 = 0; - BRR1 = (FREQ/(32*9600))-1; - and_b(0, &SSR1); /* The status bits must be read before they are cleared, - so we do an AND operation */ - - /* Let the hardware settle. The serial port needs to wait "at least - the interval required to transmit or receive one bit" before it - can be used. */ - sleep(1); - - SCR1 = 0x10; /* Enable the receiver, no interrupt */ -} - -int tx_rdy(void) -{ - /* a dummy */ - return 1; -} - -static int rx_rdy(void) -{ - if(SSR1 & SCI_RDRF) - return 1; - else - return 0; -} - -void tx_writec(unsigned char c) -{ - /* a dummy */ - (void)c; -} - -static unsigned char rx_readc(void) -{ - char tmp; - /* Read byte and clear the Rx Full bit */ - tmp = RDR1; - and_b(~SCI_RDRF, &SSR1); - return tmp; -} - - -/* This function returns the received remote control code only if it is - received without errors before or after the reception. - It therefore returns the received code on the second call after the - code has been received. */ -int remote_control_rx(void) -{ - static int last_valid_button = BUTTON_NONE; - static int last_was_error = false; - int btn; - int ret = BUTTON_NONE; - - /* Errors? Just clear'em. The receiver stops if we don't */ - if(SSR1 & (SCI_ORER | SCI_FER | SCI_PER)) { - and_b(~(SCI_ORER | SCI_FER | SCI_PER), &SSR1); - last_valid_button = BUTTON_NONE; - last_was_error = true; - return BUTTON_NONE; - } - - if(rx_rdy()) { - btn = rx_readc(); - - if(last_was_error) - { - last_valid_button = BUTTON_NONE; - ret = BUTTON_NONE; - } - else - { - switch (btn) - { - case STOP: - last_valid_button = BUTTON_RC_STOP; - break; - - case PLAY: - last_valid_button = BUTTON_RC_PLAY; - break; - - case VOLUP: - last_valid_button = BUTTON_RC_VOL_UP; - break; - - case VOLDN: - last_valid_button = BUTTON_RC_VOL_DOWN; - break; - - case PREV: - last_valid_button = BUTTON_RC_LEFT; - break; - - case NEXT: - last_valid_button = BUTTON_RC_RIGHT; - break; - - default: - last_valid_button = BUTTON_NONE; - break; - } - } - } - else - { - /* This means that a valid remote control character was received - the last time we were called, with no receiver errors either before - or after. Then we can assume that there really is a remote control - attached, and return the button code. */ - ret = last_valid_button; - last_valid_button = BUTTON_NONE; - } - - last_was_error = false; - - return ret; -} - |