1
0
Fork 0
forked from len0rd/rockbox

Removed the Neo code. Nobody is interested in it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5096 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Björn Stenberg 2004-09-20 08:10:43 +00:00
parent 995d24ca2c
commit 57945b125d
12 changed files with 1 additions and 609 deletions

View file

@ -1,38 +0,0 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2002 Justin Heiner
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef _ICONS_H_
#define _ICONS_H_
#include <lcd.h>
/*
* Icons of size 5x7 pixels for the Player LCD
*/
#ifdef HAVE_LCD_CHARCELLS
enum {
Unknown=0x90,
Bookmark = 0x16,
Plugin, Folder, Mod_Ajz, Language, File, Wps, Playlist, Text, Config,
};
#endif
#endif

View file

@ -1,308 +0,0 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2003 by Francois Boucher
*
* All files in this archive are subject to the GNU General Public License.
* See the file COPYING in the source tree root for full license agreement.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#include <string.h>
#include "lcd.h"
#include "button.h"
#include "kernel.h"
#include "version.h"
#include "sprintf.h"
#include "lcd-charset.h"
#include "lang.h"
#include "debug.h"
/* Two functions that are part of the firmware for the Neo-builds only.
TODO: make them proper "official" firmware functions or replace them
with apps code */
extern void lcd_cursor(int x, int y);
extern int button_add(unsigned int button);
#define KEYBOARD_MAX_LENGTH 255
static const unsigned char* const kbd_screens[3] = {
"ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"abcdefghijklmnopqrstuvwxyz",
" !\"#$%&'()*+,-./0123456789;<=>?@[]^_`{|}"
};
static const unsigned char* const kbd_screens_names[3] = {
"Capitals",
"Small",
"Others"
};
static void kbd_show_legend( int nb )
{
char buf[24];
snprintf(buf, sizeof(buf), "[%s]", kbd_screens_names[nb] );
lcd_puts( 0, 1, buf );
lcd_puts( 0, 2, kbd_screens[nb] );
lcd_puts( 0, 3, &kbd_screens[nb][20] );
}
/*
Returns text len Max = KEYBOARD_MAX_LENGTH characters.
This function MUST NOT fill in more than 'buflen' bytes into the given
buffer!
*/
static char kbdbuffer[KEYBOARD_MAX_LENGTH+1]; /* no use to alloc this huge one
on the stack */
int kbd_input(char* text, int buflen)
{
char* pstart;
char* pcursor;
char* pold;
int bufferlen;
char cursorpos = 0;
int ret = 0;
bool done = false;
int key;
int screen = 0;
int screenidx = -1;
const unsigned char * pcurscreen = kbd_screens[0];
bool ctl;
bufferlen = strlen(text);
if(bufferlen > KEYBOARD_MAX_LENGTH)
bufferlen = KEYBOARD_MAX_LENGTH;
strncpy(kbdbuffer, text, bufferlen);
kbdbuffer[bufferlen] = 0;
lcd_clear_display();
/* Initial setup */
lcd_puts(0, 0, kbdbuffer);
kbd_show_legend(screen);
lcd_cursor(cursorpos, 0);
lcd_write_command(LCD_BLINKCUR);
pstart = pcursor = kbdbuffer;
while(!done) {
/* We want all the keys except the releases and the repeats */
key = button_get(true);
if( key & BUTTON_IR)
ctl = key & (NEO_IR_BUTTON_PLAY|NEO_IR_BUTTON_STOP|NEO_IR_BUTTON_BROWSE);
else
ctl = key & (BUTTON_PLAY|BUTTON_STOP|BUTTON_MENU);
if( ctl ) {
/* These key do not change the first line */
switch( key ) {
case BUTTON_MENU:
case BUTTON_IR|NEO_IR_BUTTON_BROWSE:
/* Toggle legend screen */
screen++;
if( screen == 3 )
screen = 0;
pcurscreen = kbd_screens[screen];
screenidx = -1;
kbd_show_legend( screen );
/* Restore cursor */
lcd_cursor( cursorpos, 0 );
break;
case BUTTON_PLAY:
case BUTTON_IR|NEO_IR_BUTTON_PLAY:
if( bufferlen ) {
strncpy(text, kbdbuffer, bufferlen);
text[bufferlen] = 0;
ret = bufferlen;
}
/* fallthrough */
case BUTTON_STOP:
case BUTTON_IR|NEO_IR_BUTTON_STOP:
/* Remove blinking cursor */
lcd_write_command(LCD_OFFCUR);
done = true;
}
}
else {
switch( key ) {
case BUTTON_PROGRAM:
case BUTTON_PROGRAM|BUTTON_REPEAT:
case BUTTON_IR|NEO_IR_BUTTON_PROGRAM:
/* Delete char at pcursor */
/* Check if we are at the last char */
if( *(pcursor+1) != 0 ) {
/* move rest of the string to the left in buffer */
pold = pcursor;
while( *pcursor ){
*pcursor = *(pcursor+1);
pcursor++;
}
/* Restore position */
pcursor = pold;
}
else {
*pcursor = 0;
pcursor--;
cursorpos--;
}
bufferlen--;
break;
case BUTTON_IR|NEO_IR_BUTTON_EQ:
case BUTTON_SELECT|BUTTON_LEFT:
/* Insert left */
if(bufferlen >= buflen)
break;
pold = pcursor;
/* Goto end */
while( *pcursor )
pcursor++;
/* Move string content to the right */
while( pcursor >= pold ){
*(pcursor+1) = *pcursor;
pcursor--;
}
pcursor = pold;
*pcursor = ' ';
bufferlen++;
break;
case BUTTON_IR|NEO_IR_BUTTON_MUTE:
case BUTTON_SELECT|BUTTON_RIGHT:
/* Insert Right */
if(bufferlen >= buflen)
break;
pold = pcursor;
/* Goto end */
while(*pcursor)
pcursor++;
/* Move string content to the right */
while(pcursor > pold){
*(pcursor+1) = *pcursor;
pcursor--;
}
pcursor = pold;
*(pcursor+1) = ' ';
bufferlen++;
button_add( BUTTON_RIGHT );
break;
case BUTTON_LEFT:
case BUTTON_REPEAT|BUTTON_LEFT:
case BUTTON_IR|NEO_IR_BUTTON_REWIND:
case BUTTON_IR|NEO_IR_BUTTON_REWIND|BUTTON_REPEAT:
/* Move cursor left. Shift text right if all the way to the
left */
/* Check for start of string */
if(pcursor > kbdbuffer) {
screenidx = -1;
cursorpos--;
pcursor--;
/* Check if were going off the screen */
if( cursorpos == -1 ) {
cursorpos = 0;
/* Shift text right if we are */
pstart--;
}
}
break;
case BUTTON_RIGHT:
case BUTTON_REPEAT|BUTTON_RIGHT:
case BUTTON_IR|NEO_IR_BUTTON_FFORWARD:
case BUTTON_IR|NEO_IR_BUTTON_FFORWARD|BUTTON_REPEAT:
/* Move cursor right. Shift text left if all the way to
the right */
/* Check for end of string */
if( *(pcursor+1) != 0 ) {
screenidx = -1;
cursorpos++;
pcursor++;
/* Check if were going of the screen */
if( cursorpos == 20 ) {
cursorpos = 19;
/* Shift text left if we are */
pstart++;
}
}
break;
case BUTTON_UP:
case BUTTON_UP|BUTTON_REPEAT:
case BUTTON_IR|NEO_IR_BUTTON_VOLUP:
case BUTTON_IR|NEO_IR_BUTTON_VOLUP|BUTTON_REPEAT:
screenidx += 2;
/* fallthrough */
case BUTTON_DOWN:
case BUTTON_DOWN|BUTTON_REPEAT:
case BUTTON_IR|NEO_IR_BUTTON_VOLDN:
case BUTTON_IR|NEO_IR_BUTTON_VOLDN|BUTTON_REPEAT:
screenidx--;
if( screenidx < 0 )
screenidx = strlen(pcurscreen)-1;
if( pcurscreen[screenidx] == 0 )
screenidx = 0;
/* Changes the character over the cursor */
*pcursor = pcurscreen[screenidx];
}
lcd_puts( 0, 0, pstart);
lcd_cursor( cursorpos, 0 );
}
}
return ret;
}

View file

@ -1,46 +0,0 @@
#define CGRAM0 0x00
#define CGRAM1 0x01
#define CGRAM2 0x02
#define CGRAM3 0x03
#define CGRAM4 0x04
#define CGRAM5 0x05
#define CGRAM6 0x06
#define CGRAM7 0x07
#define CGRAM0_CHAR 0x10
#define CGRAM1_CHAR 0x11
#define CGRAM2_CHAR 0x12
#define CGRAM3_CHAR 0x13
#define CGRAM4_CHAR 0x14
#define CGRAM5_CHAR 0x15
#define CGRAM6_CHAR 0x16
#define CGRAM7_CHAR 0x17
#define RESERVED_CHAR 0xff
#define NOCHAR_OLD 0x24
#define UNKNOWN_CHAR 0x3f
#define LARROW_CHAR 0x1e
#define RARROW_CHAR 0x1f
#define FULLGRID_CHAR 0x7f
#define BACKSLASH_LCD CGRAM0
#define RARROW_LCD 0x7e
#define LARROW_LCD 0x7f
#define FULLGRID_LCD 0xff
#define PROGRESS1_LCD CGRAM1
#define PROGRESS2_LCD CGRAM2
#define PROGRESS3_LCD CGRAM3
#define PROGRESS4_LCD CGRAM4
#define PROGRESS5_LCD FULLGRID_LCD
#define PROGRESS1_CHAR CGRAM1_CHAR
#define PROGRESS2_CHAR CGRAM2_CHAR
#define PROGRESS3_CHAR CGRAM3_CHAR
#define PROGRESS4_CHAR CGRAM4_CHAR
#define PROGRESS5_CHAR FULLGRID_CHAR
extern unsigned char latin1_to_lcd[256];

View file

@ -461,7 +461,6 @@ static char* get_tag(struct mp3entry* cid3,
#endif #endif
case 'f': /* full-line progress bar */ case 'f': /* full-line progress bar */
#ifdef HAVE_LCD_CHARCELLS #ifdef HAVE_LCD_CHARCELLS
#ifndef HAVE_NEO_LCD
if(has_new_lcd()) { if(has_new_lcd()) {
*flags |= WPS_REFRESH_PLAYER_PROGRESS; *flags |= WPS_REFRESH_PLAYER_PROGRESS;
*flags |= WPS_REFRESH_DYNAMIC; *flags |= WPS_REFRESH_DYNAMIC;
@ -471,7 +470,6 @@ static char* get_tag(struct mp3entry* cid3,
snprintf(buf, buf_size, " "); snprintf(buf, buf_size, " ");
} }
else else
#endif /* HAVE_NEO_LCD */
{ {
/* Tell the user if we have an OldPlayer */ /* Tell the user if we have an OldPlayer */
snprintf(buf, buf_size, " <Old LCD> "); snprintf(buf, buf_size, " <Old LCD> ");

View file

@ -385,42 +385,6 @@ static int button_read(void)
return btn; return btn;
} }
#elif defined(HAVE_NEO_KEYPAD)
static bool mStation = false;
void button_init(void)
{
/* set port pins as input */
PAIOR &= ~0x4000; /* PA14 for stop button */
queue_init(&button_queue);
lastbtn = 0;
tick_add_task(button_tick);
reset_poweroff_timer();
}
int button_read(void)
{
int btn=BUTTON_NONE;
btn|=((~PCDR)&0xFF);
/* mStation does not have a stop button and this floods the button queue
with stops if used on a mStation */
if (!mStation)
btn|=((~(PADR>>6))&0x100);
return btn;
}
/* This function adds a button press event to the button queue, and this
really isn't anything Neo-specific but might be subject for adding to
the generic button driver */
int button_add(unsigned int button)
{
queue_post(&button_queue,button,NULL);
return 1;
}
#elif defined HAVE_ONDIO_KEYPAD #elif defined HAVE_ONDIO_KEYPAD
/* /*

View file

@ -488,11 +488,7 @@ void lcd_set_contrast(int val)
void lcd_init (void) void lcd_init (void)
{ {
#ifdef HAVE_NEO_LCD
new_lcd = true;
#else
new_lcd = has_new_lcd(); new_lcd = has_new_lcd();
#endif
memset(extended_chars_mapped, NO_CHAR, sizeof(extended_chars_mapped)); memset(extended_chars_mapped, NO_CHAR, sizeof(extended_chars_mapped));
memset(extended_pattern_content, NO_CHAR,sizeof(extended_pattern_content)); memset(extended_pattern_content, NO_CHAR,sizeof(extended_pattern_content));
memset(extended_pattern_usage, 0, sizeof(extended_pattern_usage)); memset(extended_pattern_usage, 0, sizeof(extended_pattern_usage));
@ -731,46 +727,4 @@ static void scroll_thread(void)
} }
} }
#ifdef HAVE_NEO_LCD
/*
* Function use by the Neo code, but could/should be made a generic one.
*/
void lcd_cursor(int x, int y)
{
/* If we make sure the display size is setup with proper defines in the
config-*.h files, this should work on all displays */
if ((cursor.y_pos==y && cursor.x_pos==x) ||
x>=20 ||
y>3 ||
x<0 ||
y<0) {
DEBUGF("ignoring request for cursor to %d,%d - currently %d,%d\n",
x,y,cursor.x_pos,cursor.y_pos);
return;
}
char value=0;
cursor.y_pos=y;
cursor.x_pos=x;
switch (y) {
case 0:
value=0x80|x;
break;
case 1:
value=0x80|(x+0x40);
break;
case 2:
value=0x80|(x+0x14);
break;
case 3:
value=0x80|(x+0x54);
break;
}
lcd_write_command(value);
}
#endif
#endif /* HAVE_LCD_CHARCELLS */ #endif /* HAVE_LCD_CHARCELLS */

View file

@ -85,7 +85,7 @@ int remote_control_rx(void)
} }
else else
{ {
#if !defined(HAVE_NEO_KEYPAD) && !defined(HAVE_ONDIO_KEYPAD) #ifndef HAVE_ONDIO_KEYPAD
switch (btn) switch (btn)
{ {
case STOP: case STOP:

View file

@ -36,49 +36,6 @@ void button_set_flip(bool flip); /* turn 180 degrees */
#define BUTTON_NONE 0x0000 #define BUTTON_NONE 0x0000
#ifdef HAVE_NEO_KEYPAD
/* neo button codes */
#define BUTTON_UP 0x0080
#define BUTTON_DOWN 0x0010
#define BUTTON_LEFT 0x0001
#define BUTTON_RIGHT 0x0002
#define BUTTON_SELECT 0x0040
#define BUTTON_ON BUTTON_SELECT
#define BUTTON_PROGRAM 0x0020
#define BUTTON_MENU 0x0004
#define BUTTON_PLAY 0x0008
#define BUTTON_STOP 0x0100
#define BUTTON_IR 0x2000
#define BUTTON_REPEAT 0x4000
#define BUTTON_REL 0x8000
#define BUTTON_FLAG_MASK 0xF000
#define BUTTON_MASK 0x0FFF
#define BUTTON_ALL BUTTON_MASK
#define BUTTON_ALL_FLAGS BUTTON_FLAG_MASK
#define NEO_IR_BUTTON_POWER 0x0001
#define NEO_IR_BUTTON_SETTING 0x0002
#define NEO_IR_BUTTON_REWIND 0x0004
#define NEO_IR_BUTTON_FFORWARD 0x0008
#define NEO_IR_BUTTON_PLAY 0x0010
#define NEO_IR_BUTTON_VOLUP 0x0020
#define NEO_IR_BUTTON_VOLDN 0x0040
#define NEO_IR_BUTTON_BROWSE 0x0080
#define NEO_IR_BUTTON_EQ 0x0100
#define NEO_IR_BUTTON_MUTE 0x0200
#define NEO_IR_BUTTON_PROGRAM 0x0400
#define NEO_IR_BUTTON_STOP 0x0800
#define NEO_IR_BUTTON_NONE 0x0000
#define NEO_IR_BUTTON_REPEAT 0x1000
#else
/* Shared button codes */ /* Shared button codes */
#define BUTTON_LEFT 0x0040 #define BUTTON_LEFT 0x0040
#define BUTTON_RIGHT 0x0080 #define BUTTON_RIGHT 0x0080
@ -130,7 +87,5 @@ void button_set_flip(bool flip); /* turn 180 degrees */
#endif /* HAVE_RECORDER/PLAYER/ONDIO_KEYPAD */ #endif /* HAVE_RECORDER/PLAYER/ONDIO_KEYPAD */
#endif /* HAVE_NEO_KEYPAD */
#endif /* _BUTTON_H_ */ #endif /* _BUTTON_H_ */

View file

@ -1,52 +0,0 @@
/* define this if you have a charcell LCD display */
#define HAVE_LCD_CHARCELLS 1
/* define this if you have a neo-style LCD */
#define HAVE_NEO_LCD 1
/* define this if you have the Player's keyboard */
#define HAVE_NEO_KEYPAD 1
/* Define this if you have a SH7034 */
#define HAVE_SH7034
/* Define this if you have a MAS3507D */
#define HAVE_MAS3507D
/* Define this if you have a DAC3550A */
#define HAVE_DAC3550A
/* Define this to the CPU frequency */
#define CPU_FREQ 12000000 /* cycle time ~83.3ns */
/* Battery scale factor (?) */
#define BATTERY_SCALE_FACTOR 6546
/* Define this if you must discharge the data line by driving it low
and then set it to input to see if it stays low or goes high */
#define HAVE_I2C_LOW_FIRST
/* Define this if you control power on PADR (instead of PBDR) */
#define HAVE_POWEROFF_ON_PADR
/* Offset ( in the firmware file's header ) to the file length */
#define FIRMWARE_OFFSET_FILE_LENGTH 0
/* Offset ( in the firmware file's header ) to the file CRC */
#define FIRMWARE_OFFSET_FILE_CRC 4
/* Offset ( in the firmware file's header ) to the real data */
#define FIRMWARE_OFFSET_FILE_DATA 6
/* How to detect USB */
#define USB_NONE 1
/* If this is a Neo-style memory architecture platform */
#define NEO_MEMORY 1
/* Define this for programmable LED available */
#define HAVE_LED
/* Define this for LCD backlight available */
#define HAVE_BACKLIGHT

View file

@ -28,8 +28,6 @@
#include "config-fmrecorder.h" #include "config-fmrecorder.h"
#elif defined(ARCHOS_RECORDERV2) #elif defined(ARCHOS_RECORDERV2)
#include "config-recorderv2.h" #include "config-recorderv2.h"
#elif defined(NEO_35)
#include "config-neo35.h"
#elif defined(ARCHOS_ONDIOSP) #elif defined(ARCHOS_ONDIOSP)
#include "config-ondiosp.h" #include "config-ondiosp.h"
#elif defined(ARCHOS_ONDIOFM) #elif defined(ARCHOS_ONDIOFM)

View file

@ -142,25 +142,4 @@ extern int lcd_getstringsize(const unsigned char *str, int *w, int *h);
#endif /* CHARCELLS / BITMAP */ #endif /* CHARCELLS / BITMAP */
/* These control codes may only work on the Neo LCD display */
#ifdef HAVE_NEO_LCD
/* Cursor Control Instructions */
#define LCD_OFFCUR 0x0C
#define LCD_LINECUR 0x0E
#define LCD_BLINKCUR 0x0D
#define LCD_COMBNCUR 0x0F
#define LCD_HOMECUR 0x02
#define LCD_SHLFCUR 0x10
#define LCD_SHRTCUR 0x14
/* Display Control Instructions */
#define LCD_CLEAR 0x01
#define LCD_OFFDISP 0x08
#define LCD_ONDISP 0x0C
#define LCD_SHLFDISP 0x18
#define LCD_SHRTDISP 0x1C
#define LCD_SET_CGRAM 0x40
#endif
#endif /* __LCD_H__ */ #endif /* __LCD_H__ */

12
tools/configure vendored
View file

@ -208,8 +208,6 @@ if [ -z "$archos" ]; then
echo "2 - Archos Recorder" echo "2 - Archos Recorder"
echo "3 - Archos FM Recorder" echo "3 - Archos FM Recorder"
echo "4 - Archos Recorder v2" echo "4 - Archos Recorder v2"
echo "5 - Neo mStation"
echo "6 - Neo 35"
echo "7 - Archos Ondio SP" echo "7 - Archos Ondio SP"
echo "8 - Archos Ondio FM" echo "8 - Archos Ondio FM"
echo "9 - Iriver H100" echo "9 - Iriver H100"
@ -233,16 +231,6 @@ if [ -z "$archos" ]; then
target="-DARCHOS_RECORDERV2" target="-DARCHOS_RECORDERV2"
;; ;;
5)
archos="neomstation"
target="-DNEO_MSTATION"
;;
6)
archos="neo35"
target="-DNEO_35"
;;
7) 7)
archos="ondiosp" archos="ondiosp"
target="-DARCHOS_ONDIOSP" target="-DARCHOS_ONDIOSP"