Friday, April 21, 2017

Arduino LCD circular meter

 
As the openGLCD library contains only bar type meters, V & H, I've drew a circular meter to display rpm for my "poor-man-LCD", so it's more appealing and easier to read. A nice impression is given only by the two letters "II" that go around the circular loop. May be someone find it useful.Here is the code:

* DrawCircle - openGLCD API example 
* 
* Example of using: 
* Circle()
*
* Circle(xCenter,yCenter, radius, [color]);

#include

 void setup()
{
        GLCD.Init();
        GLCD.SelectFont(Callibri14);
}

void loop(void)
{
        GLCD.ClearScreen();

        float  rpm  = random(12,1023);             // random values for rpm
        rpm=rpm*1000/244;                              // it should count freq./
        float rd;                                                  // period instead
        rd = (float)rpm/2673.2;                         // angle for "II" position

       GLCD.DrawCircle(GLCD.Right,GLCD.Bottom, 58);
       
        float RD =0.0;
        while (RD < rd) { 
           GLCD.CursorToXY(GLCD.Right-((58*cos(RD))), GLCD.Bottom-(64*sin(RD)));
                GLCD.print(F("II"));
                delay(RD*20);
                GLCD.DrawLine(GLCD.Right,GLCD.Bottom, GLCD.Right-(64*cos(rd)),GLCD.Bottom-(64*sin(rd)));
                RD=RD+0.03;
         }

GLCD.SelectFont(lSansN_22);
GLCD.CursorToXY(GLCD.CenterX+24,GLCD.Bottom-32);
rpm=rpm/10;
GLCD.print(rpm,0);
GLCD.print(F("0"));
GLCD.SelectFont(Callibri14);
delay(4000);
            
}


For 2 Outboards: 2 RPM meters (One "I" going around), 1x Voltmeter (H-bar),
2 hrs counters:

Thursday, December 11, 2014

Saturday, July 19, 2014

Tronsmart T1000 and Linux video

Play your video on TV, from Ubuntu without Miracast, Ezcast, AirPlay

Install :

UPnP-Inspector 
is an UPnP Device and Service analyzer, and a debugging tool,
based on the Coherence DLNA/UPnP framework.
Rygel
is a home media solution (UPnP AV MediaServer)
that allows you to easily share audio, video and pictures to other devices.
Rygel-preferences
provides a graphical tool to configure Rygel and set custom preferences.



Transmart:

Plug in your device in TV (mine is Tronsmart T1000)
Configure it to your home wi-fi with your Android smart phone,
using Ezcast (Ezcast.apk from Google Play Store)

On Ubuntu PC

Connect your PC to Transmart wi-fi ("Transmart-9BABxxxx" mine)
Internet should work just the same.
(maybe not necessary?)

Start upnp-inspector (in "Programming", or /usr/bin/upnp-inspector)
Find your device and leave it open.

Start rygel-preferences (from terminal /usr/bin/rygel-preferences)
Select your media-folder, and save, close.

Start rygel (in terminal /usr/bin/rygel)

Go back to Inspector.
New sections should appear containing your media-folder.
Browse in it (double click) and find your movie, right click and execute.
Your movie should start playing on TV.   :-)


Thursday, January 17, 2008

Solaris specific

Using fdisk make 'Sun disklable'

  • fdisk /dev/sdb
    • s (create new empty Sun disklable)
    • d (delete (linux) partitions)
    • n (add a new partition)
    • l (list known partition types)
Something like:
  • /dev/sdb1.......0....279...140616..2..SunOS root
  • /dev/sdb2..u..279....580...151704..3..SunOS swap
  • /dev/sdb3.......0..17660..8900640..5..Whole disk
  • /dev/sdb7.....580...1629...528696..4..SunOS usr
  • /dev/sdb8....1629..17660..8079624..8..SunOS home
To mount sdb8 :
  • mount /dev/sdb8 /mnt -t ufs -o ufstype=sun,ro

Wednesday, January 16, 2008

ddrescue restore

'New HDD' in USB-Drawer (e.g. 'sdb').

Using fdisk or gparted or ....
make same number and type of partitions as for 'p.table.txt'
just biger in size and set the bootable flag.

Restore partitions:
  • drescue /mnt/hdd2/bkup/sdb_1.img /dev/sdb1
  • drescue /mnt/hdd2/bkup/sdb_2.img /dev/sdb2
  • drescue /mnt/hdd3/bkup/sdb_1.img /dev/sdb3
Restore MBR just not the table (different disks - different tables)
  • dd if=/mnt/hdd2/bkup/mbr.img of=/dev/sdb count=1 bs=446
Check it:
  • fsck /dev/sdb1

ddrescue backup

ddrescu with some 'live-cd' (e.g. 'INSERT')
Hdd to rescue/backup is in USB-Drawer (e.g. 'sdb').
Where to backup (e.g. ntfs 'hdd2/bkup/')

Mount 'where to backup' :
  • ntfs-3g /dev/hdd2 /mnt/hdd2
Copy-paste sdb-part.-table to some text-file (e.g. 'p.table.txt') :
  • fdisk /dev/sdb
  • p (to 'print' the table)
  • copy, paste and save to '/mnt/hdd2/bkup/p.table.txt'
MBR backup :
  • dd if=/dev/sdb of=/mnt/hdd2/bkup/mbr.img count=1 bs=512
Partitions backup (not a whole disk) :
  • ddrescue /dev/sdb1 /mnt/hdd2/bkup/sdb_1.img
  • ddrescue /dev/sdb2 /mnt/hdd2/bkup/sdb_2.img
  • ddrescue /dev/sdb3 /mnt/hdd2/bkup/sdb_3.img
If it's to big :
  • ddrescue /dev/sdb1 | gzip -9 > /hdd2/bkup/sdb_1.img.gz
Check it :
  • mkdir /mnt/1
  • losetup /dev/loop3 /mnt/hdd2/bkup/sdb_1.img
  • fsck /dev/loop3 (? not sure)
  • mount -t ext3 /dev/loop3 /mnt/1/
  • umount /dev/loop3
  • losetup -d /dev/loop3