Showing posts with label #raspberrypi. Show all posts
Showing posts with label #raspberrypi. Show all posts

2014-07-12

RasPi HDMI Init /boot/config.txt working changes

These are the working settings from /boot/config.txt on the Raspberry Pi Raspbian install -- only the editted lines are shown - all the other settings were left at the defaults.

TODO: make a diff

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=0

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
overscan_left=-192
overscan_right=128
overscan_top=16
#overscan_bottom=-6

# uncomment to force a console size. By default it will be display's size minus
# overscan.
framebuffer_width=1280
framebuffer_height=960

2014-07-11

Tweaking Rapsberry Pi HDMI

Tweaking Rapsberry Pi HDMI

fixed monitor size problem for acer panel + raspberry pi

Found several interesting things while examining the drive image(s) for the 8-gig Raspbian image that became inoperable on the Pi during intensive installation and removal of build packages...

  1. The Raspbian Linux install image is actuall more than one partition. When the SD card is plugged into a USB SD card reader connected to the T42 system, two partitions are shown [and optionally auto-mounted] for the device. These show up here under Mint / Debian ~ Ubunbtu as

        /dev/sdb1
        /dev/sdb2 
    

    which are mounted at

        /media/boot
        /media/fc254b57-8fff-4f96-9609-ea202d871acf
    
    respectively.

  2. Not sure why /dev/sdb2 is not mounted on /media/sdb2 as one might expect...

    Further investigation includes checking the mount data from within the pi acconut on the Raspbian install on the Raspberry Pi device itself.

    This shows that the root file system of the Pi is mounted as

        /dev/root  -> /
    

    Since there is no way to identify hard disc partitions from that mount listing, we try

        ls -lh /dev/root
    

    which returns

        lrwxrwxrwx 1 root root 9 Jul 11 08:10 /dev/root -> mmcblk0p2
    

    so we try

        ls -lh /dev/mmcblk0*
    

    which gives us

        brw-rw---T 1 root floppy 179, 0 Jan  1  1970 /dev/mmcblk0
        brw-rw---T 1 root floppy 179, 1 Jan  1  1970 /dev/mmcblk0p1
        brw-rw---T 1 root floppy 179, 2 Jul 11 08:10 /dev/mmcblk0p2
    

    ... furthermore, looking in the /boot directory of the filesystem mounted on / we see that there is nothing there -- it is not the location of the filesystem automounted from /dev/sdb1 on /media/boot on the T42 system.

    So this:

       sudo mount /dev/mmcblk0p1 /boot
    

    and

        ls -lh /boot total 9.5M
        -rwxr-xr-x 1 root root  18K Jul 10 02:48 bootcode.bin
        -rwxr-xr-x 1 root root  120 Jun 20 06:51 cmdline.txt
        -rwxr-xr-x 1 root root 1.2K Jul 11 08:10 config.txt
        -rwxr-xr-x 1 root root 2.1K Jul 10 02:48 fixup_cd.dat
        -rwxr-xr-x 1 root root 5.8 K Jul 10 02:48 fixup.dat
        -rwxr-xr-x 1 root root 8.7K Jul 10 02:48 fixup_x.dat
        -rwxr-xr-x 1 root root  137 Jun 20 10:33 issue.txt
        -rwxr-xr-x 1 root root 3.1M Jul 10 02:49 kernel.img
        -rwxr-xr-x 1 root root  19K Sep 25  2013 LICENSE.oracle
        -rwxr-xr-x 1 root root 503K Jul 10 02:48 start_cd.elf
        -rwxr-xr-x 1 root root 2.5M Jul 10 02:48 start.elf
        -rwxr-xr-x 1 root root 3.4M Jul 10 02:48 start_x.elf
    

    Which leads us to the next fascinating discovery:

  3. HDMI Boot-time Cofiguration Parameters

    cat /boot/config.txt 
    

    ... and find ...

        # uncomment if you get no picture on HDMI for a
        # default "safe" mode 
        hdml_safe=1
    
        # uncomment this if your display has a black border 
        # of unused pixels visible and your display can 
        # output without overscan 
        disable_overscan=1 
        # uncomment the following to adjust overscan. Use
        # positive numbers if console goes off screen, and 
        # negative if there is too much border 
        #overscan_left=16 
        #overscan_right=16 
        #overscan_top=16 
        #overscan_bottom=16 
    
        # uncomment to force a console size. By default 
        # it will be display's  size minus overscan. 
        framebuffer_width=1280 
        framebuffer_height=960 
    
        # uncomment if hdmi display is not detected and 
        # composite  is being output 
        #hdmi_force_hotplug=1 
    
        # uncomment to force a specific HDMI mode (this will 
        # force VGA) 
        #hdmi_group=1
        #hdmi_mode=1
    
        # uncomment to force a HDMI mode rather than DVI. 
        # This can make audio work
        # in DMT (computer monitor) modes
        #hdmi_drive=2
    
        # uncomment to increase signal to HDMI, if you 
        # have interference, blanking, or no display
        #config_hdmi_boost=4
    
        # uncomment for composite PAL
        #sdtv_mode=2
    
        # uncomment to overclock the arm. 700 MHz is the
        # default.
        #ar_freq=800
    
        # for more options see http://elinux.org/RPi_config.txt
        gpu_mem=128
        start_x=1
    

    Interesting - this config.txt file looks like it might have something to do with the raspi-config utility that's used to change many of the settings that are listed in the file.

    Even more interestingly, I don't remember seeing these setting in the curses interface raspi-config always presents. So. No idea what this stuff is, but it looks like these lines

        # uncomment if you get no picture on HDMI for a default "safe" mode
        hdmi_safe=1
    
        # uncomment this if your display has a black border of unused pixels
        # visible and your display can output without overscan
        disable_overscan=1
    
        # uncomment the following to adjust overscan. Use positive numbers if 
        # console goes off screen, and negative if there is too much border
        #overscan_left=16
        #overscan_right=16
        #overscan_top=16
        #overscan_bottom=16
    
        # uncomment to force a console size. By default it will be display's 
        # size minus overscan.
        framebuffer_width=1280
        framebuffer_height=960
    
        # uncomment if hdmi display is not detected and composite 
        # is being output
        #hdmi_force_hotplug=1
    
        # uncomment to force a specific HDMI mode (this will 
        # force VGA)
        #hdmi_group=1
        #hdmi_mode=1
    
        # uncomment to force a HDMI mode rather than DVI. This can 
        # make audio work in DMT (computer monitor) modes
        #hdmi_drive=2
    
        # uncomment to increase signal to HDMI, if you have 
        # interference, blanking, or no display 
        #config_hdmi_boost=4
    

    ... may well have to do with the HDMI Video Sub-System Startup operations - not sure why this would be on a seperate partion, and not sure what the other files in this directory are, yet, but uncommenting the hdmi_safe line, the disable_overscan line, changing the framebuffer_width and framebuffer_height lines (uncomment and edit to have the values shown above) fixed the problem we were having of the Rapsberry Pi HDMI output locking itself to 1600x900 on acer 20" flat panel - the panel was intializing itself to 1280x960 - now it running with the X display nicely centered on the screen, but the panel's bezel-buttun MENU says that the display is set to 640x480.

    ... this after rebooting the Pi with settings as shown above; am guessing that the hdmi_safe=1 line may be responsible am checking the display dimensions again, commenting out the "safe" line again, and rebooting.

    So. After several hours messing about with these settings the best I can do right now is this:

        #hdmi_safe=1
        #disable_overscan=1
        overscan_left=-192
        overscan_right=96
        overscan_top=16
        overscan_bottom=0
        framebuffer_width=1280
        framebuffer_height=960
        #hdmi_force_hotplug=1
        #hdmi_group=1
        #hdmi_mode=1
        #hdmi_drive=2
        #config_hdmi_boost=4
    

    This gets the entire display on the screen (or at least so it appears thus far) but there is still a wide black border across the bottom of the screen - the overscan value can cause the console to write off the bottom edge of its display, but it does not reduce the size of that border area.

  4. The aspect ratio of the screen seems whack - 1280x960 - and there are obviously lines of pixels across hte bottom of the display that are not getting lit up - it looks like about 64 of them. This is as far as I'm prepared to go with this right now, since the immediate problem of the Pi drawing most of it's display off the right edge of the screen now seems to be solved.

2014-07-06

Raspberry Metalflake

 rpiplayground: Hacking the GPU for Fun and Profit (Part 1 of 4)
Fun for those rainy days... Says the author: 
"This series of posts will walk through the GPU architecture by designing and optimizing a non-trivial algorithm (parallel SHA-256) to run on the GPU.  Because this is a relatively advanced topic, some background knowledge must be assumed. [ … ] You should have some understanding of GPGPU concepts (Google can help) and you should read the Broadcom BCM2835 GPU Documentation. I’ll describe most Raspberry Pi GPU specific concepts but in case I miss some, the documentation is your friend."
[ed note: we will try to cover some of those assumed bits of background knowledge here as we find out what they are. kthx]
SHA-256 implementation on QPUs
Raspberry Pi Forum thread where the rpiplayground (see link above) blog showed up.
OpenVG™ – The Standard for Vector Graphics Acceleration
From the page:
"… royalty-free, cross-platform API that provides a low-level hardware acceleration interface for vector graphics libraries such as Flash and SVG. OpenVG is targeted primarily at handheld devices that require portable acceleration of high-quality vector graphics for compelling user interfaces and text on small screen devices - while enabling hardware acceleration to provide fluidly interactive performance at very low power levels."
hermanhermitage/videocoreiv
Tools and information for the Broadcom VideoCore IV (RaspberryPi)

Simon's accelerated X development thread
This thread at the Raspberry Pi Forum leads to quite a few interesting links – starting with the low level virtual machine code repository:  simonjhall/llvm_qpu – Low Level Virtual Machine
GitHub repository for the LLVM sources – this is a frequently updated mirror of the official site … note that this is not anything to do with the java virtual machines –
"This directory and its subdirectories contain source code for the Low Level Virtual Machine, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments."
other simonjhall repositories on github: 
My Robot Blog:  GPU Accelerated Camera Processing On The Raspberry Pi
am very actively trying to follow this work currently

2014-06-30

Aircraft-grade Aluminum Case for Raspberry Pi

Aircraft-grade Aluminum Raspberry Pi Assembly Guide from the ModMyPi blog

WiFi for Raspberry Pi

How to install wifi on Raspberry Pi is a handy, simple description of bringing up WiFi on a Raspberry Pi.

Following this guide, everything worked on the first try.

Note that prior efforts to bring the WiFi interface up from the command line were unsuccessful; the iw, ip, iwconfig, and ifup commands did not bring the wlan0 interface up.

The connection to the Pi in this instance was an SSH connection; the Pi running headless with X11 forwarded across and SSH tunnel via VNC, so the eth0 connection was active until disabled from wicd after wlan0 was successfully provisioned.

Note that the WiFi configuration for the dongle – wlan0 – does not appear to have been saved on reboot; Pi still comes up with Ethernet eth0 active, and the wlan0 module loaded and showing in the iwconfig ougtput, but the interface is not up, does not have an IP address, and no routing nor gateway configured for it.

2014-06-29

Using FUSE to store RaspiVid video files remotely

 In working with the Raspberry Camera Module and the supplied RaspiCam utilities, it became desirable to store capture video data files somewhere besides the local filesystem of the Raspberry Pi devices.  The solution most immediately presenting itself was to utilize the sshfs utility to create a FUSE mount of a user-accessible directory on a centralized mass-storage server.

Prerequisites:
  1.  sshfs installed on Raspberry Pi
  2.  server is running ssh
  3.  pi has server account
  4.  pi has generated ssh ID
  5.  pi has ID loaded in active ssh-key-agent
  6. server pi acct has pi ID in authorized keys list
Server user account is:  pi
Server directory to mount:  /home/pi/Videos
Local directory to mount on:  ./Videos
Cmd: 
   sshfs pi@server.nym:/home/pi/Videos ./Videos

With the mount in place, we can ...
cd Videos
raspivid -o ./raspivideo.h264 -n -k
to store a segment of video to the remote server's file system.

Dropbox Source Code

How do I build the Dropbox installer for Linux from source? short and sweet - we should have this for the Raspberry Pi RSN - it may already be out here...

update:  This code did not build successfully on the Raspberry Pi, first try. The problem was during ./configurelibnautilus-extension-dev could not be satisfied because processing of the depends-on fails, reporting a missing newline on an apt config file for the ssh package - no idea WtF reegardz that ther, meh.

2014-06-14

What are Wayland graphics? #link

Overview

Case Studies from Collabora does a good job of providing a highlevel technical description of the Wayland graphics engine relative to e.g. existing X11 graphics engines.

Resources

  • Wayland at FreeDesktop.org

    • Wayland is intended as a simpler replacement for X
    • Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol.
  • See the links for more...

userland github #link

https://github.com/raspberrypi/userland

"This repository contains the source code for the ARM side libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib and includes source for the ARM side code to interface to: EGL, mmal, GLESv2, vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
rPi Software Block Diagram
Image courtesy of The Raspberry Pi Foundation

Other Links

2014-06-10

RaspiCam Docs TBD

In the section describing the --exposure parameter to the raspicam programs (raspistill, raspivid, etc), the rPiCamDoc contains the following statement

Note that not all of these settings may be implemented,
depending on camera tuning.

TBD

How can it be determined which of the --exposure options are supported by a given camera?

Detail

--exposure, -ex     Set exposure mode
    Possible options are:
        off
        auto        Use automatic exposure mode
        night       Select setting for night shooting
        nightpreview
        backlight   Select setting for back lit subject
        spotlight
        sports      Select setting for sports (fast shutter etc)
        snow        Select setting optimised for snowy scenery
        beach       Select setting optimised for beach
        verylong    Select setting for long exposures
        fixedfps,   Constrain fps to a fixed value
        antishake   Antishake mode
        fireworks   Select settings

Note that it states else where in the document that the antishake mode is NOT currently implemented (as of 2014-06-10 || the date of publication of the document).

TBD

What are the "date of publication" and "last modified" dates for RaspiCamDocs.pdf?

2014-05-28

Contact for GPU / Pi Internals

 Some contact points listed here: https://github.com/hermanhermitage/videocoreiv
"Active discussions take place on IRC (freenode) on #raspberrypi-internals, #raspberrypi-osdev, #raspberrypi-dev, and #raspberrypi.
There is a raspberrypi-internals mailing list, you can subscribe at mailing list page at freelists.org."

< source: http://www.raspberrypi.org/forums/viewtopic.php?f=33&t=6188&start=100 >

The rPi GPU Firmware code repository has the VideoCore IV library code.  Note that this code is compiled as a binary for the dual-core BroadCom GPU 

The BROADCOM BCM2835: High Definition 1080p Embedded Multimedia Applications Processor GPU (used in the Raspberry Pi)

Breakdown of the device

VideoCore IV BCM2835 Overviewblock diagrams & functional descriptions

2014-05-18

The RPiCluster - YouTube


The RPiCluster (on YouTube)


Summary:
Published 17 May 2013
Documentation, Source code, and EagleCAD designs:https://bitbucket.org/jkiepert/rpicluster


The RPiCluster is a 33 node Beowulf cluster built using Raspberry Pis (RPis) [...] Each of the 33 RPi is overclocked to 1GHz and is running Arch Linux. This demo shows the RPiCluster running a parallel program [..] to control all of the RGB LEDs installed on each of the nodes.

Author says:

Update: While the BeagleBone Black was not available when I started this project, I would have chosen it rather than the Raspberry Pi had it been available. It is the same cost once you include an SD card, but it has onboard 2GB of flash storage for the operating system. It also uses a Cortex-A8 ARM processor running at 1GHz.

More information: http://coen.boisestate.edu/ece/raspberry-pi/

#rpi #cluster #srsly

Create a version of RaspiVid where the frame rate of the camera can be controlled via IPC signalling to a running raspivid process.

  1. Determine which of the USR signals sent by e.g. kill(1) are available for customization of this sort
  2. Define signal handlers for raspivid that set the input framerate NOTE: it is preferred that the video stream not have to be reset when the frame rate is set while raspivid is running
  3. Sequence:
  4. capture frame
    1. run initial frame analysis on first frame
    2. save results
    3. increment frame rate
    4. loop


Raspberry Pi-style Glass Project uses NTSC/PAL Video Glasses

Ran across this heer project: Google Glass Pi-Style & alzo em mebbe looking for more about this — the site for the glasses used is: AdaFruit — product page is NTSC/PAL (Television) Video Glasses ID: 1452 - $109.95 : Adafruit Industries, Unique & fun DIY electronics and kits

'via Blog this'

srsly?  still wurx thiz heer? wtF?

Adafruit Product Page #1452 - video glasses