All Projects → dreamlayers → dpf-ax

dreamlayers / dpf-ax

Licence: other
Tools and firmware for AX206 photo frames, from http://sourceforge.net/projects/dpf-ax/

Programming Languages

assembly
5116 projects
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects
HTML
75241 projects

Projects that are alternatives of or similar to dpf-ax

digital-electronics-2
AVR course at Brno University of Technology
Stars: ✭ 12 (-29.41%)
Mutual labels:  lcd
chisel
A library to sculpt text on any device that you can handle pixels
Stars: ✭ 37 (+117.65%)
Mutual labels:  lcd
pcd8544
Minimal footprint library for Philips PCD8544 LCDs on the Arduino.
Stars: ✭ 87 (+411.76%)
Mutual labels:  lcd
5110LCD PCD8544.swift
A Swift library for the Nokia3310/5110 PCD8544 Monochrome LCD display
Stars: ✭ 28 (+64.71%)
Mutual labels:  lcd
MD Menu
Menu system for displays with up to 2 lines
Stars: ✭ 49 (+188.24%)
Mutual labels:  lcd
LVDS-7-to-1-Serializer
An Verilog implementation of 7-to-1 LVDS Serializer. Which can be used for comunicating FPGAs with LVDS TFT Screens.
Stars: ✭ 33 (+94.12%)
Mutual labels:  lcd
qnapdisplay
Qnap lcd python module, features both writing to the display as wel as reading keypresses from the panel keys. It was developed on a Qnap TS-459 and a TS-453A, it works on some other models as well.
Stars: ✭ 37 (+117.65%)
Mutual labels:  lcd
vrEmuLcd
Character LCD emulator library (C99 engine, web front-end).
Stars: ✭ 45 (+164.71%)
Mutual labels:  lcd
picoLCD
Example code for interfacing with a LCD with a Raspberry Pi Pico
Stars: ✭ 25 (+47.06%)
Mutual labels:  lcd
U8g2
U8glib library for monochrome displays, version 2
Stars: ✭ 2,737 (+16000%)
Mutual labels:  lcd
lcd
This repository contains all of the code for interfacing with a 16x2 Character I2C LCD Display. This accompanies my YouTube tutorial here: https://www.youtube.com/watch?v=fR5XhHYzUK0
Stars: ✭ 116 (+582.35%)
Mutual labels:  lcd
mpy-lib
HTS221, LPS22, LIS2DW12, LIS2MDL, LSM6DSO, STTS751, bme280, bmp280, APDS9930, TM1650, TM1637, LCD1602, all kinds of micropython drives, examples, libs
Stars: ✭ 118 (+594.12%)
Mutual labels:  lcd
Adafruit CircuitPython CharLCD
Library code for character LCD interfacing
Stars: ✭ 54 (+217.65%)
Mutual labels:  lcd
PrecIR
You know what this is for ;-)
Stars: ✭ 60 (+252.94%)
Mutual labels:  lcd
go-coin-ticker
Raspberry Pi BTC/ETH monitoring daemon, LCD 16x2 & LED indicators
Stars: ✭ 14 (-17.65%)
Mutual labels:  lcd
----------------------------------------------------------------------------
DPF remote display software distribution (dpf-ax)
----------------------------------------------------------------------------

This is a free software package to:

* Patch or reprogram digital picture frames (DPFs) based on the AX206 CPU
* Make them display system information using lcd4linux, VDR (Video Disk Recorder)
  and other linux based software.

This is a chaotically growing README. You'll have to gather some information
from here and there and probably use google, too. Sorry!


----------------------------------------------------------------------------
AX206 DPF firmware (also referred to as BSOH - blue screen of hack)
----------------------------------------------------------------------------

Read all the firmware details in src/README or src/README.developer

----------------------------------------------------------------------------
Firmware detection & flashing
----------------------------------------------------------------------------

You need:

- A proper Linux system with GCC, libusb-dev,
  Python 2 (note: Python 3 will *NOT* work!) and python-dev.

- The dpf-ax tools: dpf-ax_YYYYMMDD.tgz from http://sourceforge.net/projects/dpf-ax/files
  ("YYYYMMDD" is a timestamp - always use the newest one)

Usage
------

IMPORTANT: identify.py will put a copy of your dpf's firmware in the file
"tools/fulldump_TIMESTAMP.bin". It is strongly recommended to make a backup of 
this file, so you can re-flash the original firmware if something goes wrong.
Alternatively you can make a dump of the entire flash using the fulldump.py script.

LET ME SAY IT AGAIN: make a backup of your dpf's original firmware
                     before messing around!

1. Run 'make' to build the dpf access library, python modules and helpers.
   If you get an error that "usb.h" could not be found: install libusb-dev.
2. Connect your frame and enable USB transfer
   (Press "MENU" -> select "USB Connect", "Connect to PC" or whatever its called).
3. Wait a while and check dmesg for the /dev/sgX assignment (e,g. 'tail /var/log/syslog'.)
   Look for line containing something like .. Attached scsi generic sg2 type 5 .. --> X=2 here ;)
4. Go to the tools directory and run
   './identify.py /dev/sgX' as root.
   Replace 'X' with the number you found under 3.
5. If your dpf is supported, download the firmware package "dpf-ax_firmware_YYYYMMDD.zip" from
   http://sourceforge.net/projects/dpf-ax/files, extract it and use the fw_TYPE.bin
   that matches the TYPE identify.py detected.
6. Put your dpf in boot mode (press & hold MENU, press & release RESET, release MENU)
   and run as root
     ./hiddetach
     ./restore.py ../src/fw_<your DPF type>.bin -f

If your dpf is not supported, have a look at the picframe wiki at
http://picframe.spritesserver.nl/wiki/index.php/DPF_with_AppoTech_AX206
or you can try to contact me (superelchi) at sourceforge or post a request in
http://forum.doozan.com/read.php?9,10026

If restore.py is not working (or you prefer windows :-o), see tools/README.windows
for instructions howt to do the detection & flashing.

----------------------------------------------------------------------------
Building options
----------------------------------------------------------------------------

Verify that you have a decent development system (GCC, development libraries,
subversion -- if you want to build lcd4linux) installed.
  
You can build different targets, depending on your needs.

* The dpf access library, python modules and helpers:
  > make

* The curren SVN version of lcd4linux with dpf-ax support:
  You need an internet connection. because lcd4linux is pulled from their server.
  You might also have to install the package "pkg-config", or else the
  configure procedure will likely fail.
  > make lcd4linux

* The firmware for all known frames:
  Note: read src/README for more information about prerequisites for firmware building.
  > make firmware

* The full monty:
  > make all

----------------------------------------------------------------------------
Windows support
----------------------------------------------------------------------------

There is no Windows driver for hacked frames. Period.

But there is partial support for firmware detection and backup.
See tools/README.windows.

There is experimental Cygwin support. You need python and libusb-devel Cygwin
packages. Compile and install sg3_utils yourself because no Cygwin pacage is
available. To access DPF when it appears as a drive, run as Administrator
and specify the drive letter. To access DPF in bootloader mode, install
libusb-win32 filter driver for that USB device. There is no need to run
as Administrator for bootloader mode.

----------------------------------------------------------------------------
LCD4linux display notes
----------------------------------------------------------------------------
Usage:

* Configure lcd4linux: normally, the default settings will do. If you wish
  to use other drivers or cross compile, check build-dpf-lcd4linux.sh
  for configure options.

* Try it:
  > cd lcd4linux; ./lcd4linux -f ../dpf_128x128.conf -F

----------------------------------------------------------------------------
Notes about the lcd4linux dpf driver:

* Supported properties:
  - Property 'Backlight': Set the dpfs backlight/brightness.
    Values: 0-7 (0 = off, 7 = max).
  - Property 'Orientation': Set the dpfs *LOGICAL* orientation.
    Note: *PHYSICAL* orientation does not matter. Rotation is done in the driver.
    Value (height != width): 0 = landscape, 1 = portrait, 2 = reverse landscape, 3 = reverse portrait.
    Value (height == width): 0 = standard, 1 = rotate 90° CW, 2 = rotate 180°, 3 = rotate 90° CCW

---------------------------------------------------------------------------
Troubleshooting

If the lcd4linux build process fails, you may want to start over without
running the entire build procedure.
See build-dpf-lcd4linux.sh for the single steps. Right, this could also
be in a makefile to be more fool proof..

----------------------------------------------------------------------------
Features

For features of this firmware, see Changelog

----------------------------------------------------------------------------
Find updates, documentation and some help here:

http://sourceforge.net/projects/dpf-ax/
or
http://picframe.spritesserver.nl/wiki/index.php/DPF_with_AppoTech_AX206
(might be outdated)
or
http://ax206howtos.wikia.com/wiki/Main_Page
or
http://forum.doozan.com/list.php?9

For our german users, explanations can be found here:

http://geekparadise.de/2011/04/digitaler-bilderrahmen-von-pearl-als-statusdisplay-fur-dockstar/
(rather outdated)
or
http://www.vdr-portal.de/board18-vdr-hardware/board11-displays/109196-howto-pearl-dpf-easy-hacking/


(c) 3/2012, hackfin
    5/2013, superelchi
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].