BaCon - Bash-based Basic-to-C converter/compiler

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Message
Author
Volhout
Posts: 547
Joined: Sun 28 Dec 2008, 08:41

BaCon and USB IO

#281 Post by Volhout »

Barry, Peter, Vovchik,

I have been following this thread with great interest, since I am a great puppy lover (since 2.17), but have never taken the step to do anything else than assembly language, a bit of bash, and (in the early days) basic.

Your joined effort to get BaCon working in Wary made me decide to drop Puppy 5 and install Wary 5.1.1 with success. Installed the devpack, and downloaded hug.bac. Using NicoEdit.
And I have been programming since, taking Barry's proxy program as a reference. I am impressed, and would like to use this configuration for my hobby (model railway automation). In this I need digital IO. One of the options for this is USB IO chips like the FTDI range (I own a few FT245BM modules).

But I have no clue on how to add the drivers for these USB chips to the BaCon environment. There is a Linux library (1.0.4) for Mandrake 9, but that would (probably) need re-compilation for Wary ????

http://www.ftdichip.com/Drivers/D2XX.htm

And even then, how can I access this library from BaCon ?? Do I use the EXEC command ?

Can someone help me ??

Volhout

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

BaCon and USB IO

#282 Post by L18L »

Dear Volhout
Can someone help me ??
I think bacon Troubleshouting area can and will help you :)
Best regards

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#283 Post by BarryK »

The proxy-setup BaCon program saga continues!

Attached is the very latest. It also needs the very latest BaCon. My PET has /usr/lib/hug.so, which makes GUI applications smaller -- 'proxy-setup' has dropped from 115KB to 50KB.

Recently there have been significant refinements in internationalization and also refinements that enable us to create windows that always layout correctly regardless of DPI/screen/default-fonts.

The attached proxy-setup.bac demonstrates these recent advances. Peter is the guy who has done all of this. I have reported problems and Peter has responded immediately and fixed things.

Note that the attached tarball has a readme that explains a few more things.

My latest BaCon PET:
http://distro.ibiblio.org/quirky/pet_pa ... 110314.pet
[url]https://bkhome.org/news/[/url]

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#284 Post by BarryK »

I have written a HOWTO that explains how to get good layout always in a window written with HUG:

http://bkhome.org/bacon/hug/layout.htm

It needs the latest BaCon, 1.0.22pre. I posted a PET here:

http://bkhome.org/blog/?viewDetailed=02182

If anyone has any thoughts how the layout HOWTO can be improved/extended, please let me know.
[url]https://bkhome.org/news/[/url]

big_bass
Posts: 1740
Joined: Mon 13 Aug 2007, 12:21

#285 Post by big_bass »

This may come in handy for a quick font size check
or a quick message or to test different fonts
it can be run in the terminal " as is"

many possibilities with markup

Joe

Code: Select all

pango-view \
 --font="DejaVu Sans 12" \
 --markup \
 --text 'This is a DejaVu Sans 12
 output on a X screen'
 
 
 pango-view \
 --font="DejaVu Sans 24" \
 --markup \
 --text 'DejaVu Sans 24
output on a X screen'
 
 
 
 pango-view \
 --font="DejaVu Sans 44" \
 --markup \
 --text 'This is a 
 DejaVu Sans 44
 output
 on a X screen'

Attachments
12.png
(5.68 KiB) Downloaded 1665 times
24.png
(10.04 KiB) Downloaded 1612 times
44.png
(15.36 KiB) Downloaded 1627 times

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

BaCon proxy-setup

#286 Post by L18L »

Edited
no idea why this was double posted.
sorry.

Edited again Tue 29 Mar 2011, 10:25
I have seen it on page 19, too.
Now it is not on page 19.
Confused,
but anyhow there have been 4 downloads until now.
Changes are commented in source and readme file.

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

bsplash = bacon-based splash program

#287 Post by vovchik »

Dear Puppians,

Having seen the nice job that 01micko did with gtkdialog-splash, I decided to create a little splash program in bacon that can display animated gifs, jpgs and pngs, with a message in you choice of font and with window decorations or not. It also has a duration parameter, and the splash can be killed by clicking on the image. I have included a binary, test images, source, the latest HUG and a bash example program. Just unpack and click on the "bsp" script. It should work. For maximum compatibility, I compiled in Puppy 3.01. If you run bsplash without parameters in a terminal, you will get a help screen that explains all the flags and arguments. Also look at the bash script. If you look at the bacon source, you will see that I call two gdk functions to get the size of jpgs and pngs, but use the unix utility "file" for gifs. This is because the gdk routines do not deliver the right dimensions for a multi-image (i.e. animated) gif but "file" does. :(

With kind regards,
vovchik

UPDATE1: I updated the attachment and added the capability to display the following file types: bmp, jpg, jpeg, jpe, ico, png, icns, wmf, xpm, xbm, tiff, tif, ppm, pbm, pgm, pnm and pcx.

UPDATE2: I updated the attachment and added a placement parameter for the main window (i.e. -p "80,80"), so that the window will display at those x,y coordinates. I also hide the program from the taskbar when in non-decorated mode.

seaside
Posts: 934
Joined: Thu 12 Apr 2007, 00:19

bsplash = bacon-based splash program

#288 Post by seaside »

vovchik ,

You've done again. This time making a big splash with animations and image variations. :)

Very nicely done.

Now for the following little item--

The pacing cat keeps nicely in it's window but the text does not -see below.

Everything else seems to purr along :) :)

Regards,
s
(This is at 1024x768 96dpi pup431)
Attachments
bsplash.png
(5.15 KiB) Downloaded 1714 times

User avatar
abushcrafter
Posts: 1418
Joined: Fri 30 Oct 2009, 16:57
Location: England
Contact:

bsplash

#289 Post by abushcrafter »

What about keyboard control?
[url=http://www.adobe.com/flashplatform/]adobe flash is rubbish![/url]
My Quote:"Humans are stupid, though some are clever but stupid." http://www.dependent.de/media/audio/mp3/System_Syn_Heres_to_You.zip http://www.systemsyn.com/

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

bsplash

#290 Post by vovchik »

Dear seaside and abushcrafter,

Thanks. Seaside, just edit the bit in bsp and add a font and size. It defaults to DejaVu Sans Bold 14, and I am sitting at a big monitor now. But just change the bash stuff in the invocation!

Abushcrafter: Yeah, I will have to put in some keyboard controls. Give me a few suggestions....

With kind regards,
vovchik
Last edited by vovchik on Tue 05 Apr 2011, 21:54, edited 1 time in total.

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

bsplash

#291 Post by vovchik »

Sorry, connection was bad and it posted twice!

seaside
Posts: 934
Joined: Thu 12 Apr 2007, 00:19

Re: bsplash

#292 Post by seaside »

vovchik wrote: Thanks. Seaside, just edit the bit in bsp and add a font and size. It defaults to DejaVu Sans Bold 14, and I am sitting at a big monitor now. But just change the bash stuff in the invocation!

With kind regards,
vovchik
vovchik,

I changed the x to 250 (from 230) and the impatient cat and text are now happily in the same room. :)

Thanks again,
s
(I'm curious as to what sort of keyboard controls might be used here?)

User avatar
abushcrafter
Posts: 1418
Joined: Fri 30 Oct 2009, 16:57
Location: England
Contact:

Keyboard Control Suggestions

#293 Post by abushcrafter »

  • Esc=Dismiss
  • Enter=Dismiss
  • M=Minimize into task-bar.
By default show in task list but give programmer option to disable? If OnTop is set?

A Tray Icon listing msgs with its own Win/Super/Hyper/Meta hotkey?

Give programmer option to disable "enter to dismiss" or a "Are you shore?" dialog box?
[url=http://www.adobe.com/flashplatform/]adobe flash is rubbish![/url]
My Quote:"Humans are stupid, though some are clever but stupid." http://www.dependent.de/media/audio/mp3/System_Syn_Heres_to_You.zip http://www.systemsyn.com/

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#294 Post by BarryK »

Have any of you guys used Dietlibc to compile BaCon programs?

I ask this because Dietlibc creates by far the smallest static applications, significantly smaller than uClibc.

I'm compiling the latest Dietlibc in T2. Well the official package is version 0.32 and dated 2009, but the T2 developers have added many patches and recently added a whole lot more:

http://t2-project.org/packages/dietlibc.html

So, I intend to create a PET of this latest dietlibc.
[url]https://bkhome.org/news/[/url]

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

dietlibc

#295 Post by vovchik »

Dear Barry,

I haven't tried with BaCon, but it could be interesting. I am also wondering whether there are any unnecessary symbols we might be able to strip out of the resulting binaries in order to get even smaller ones - of the kind we often get with plain C or C and GTK. We might want to ask Peter about this...

With kind regards,
vovchik

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#296 Post by BarryK »

I have created the Dietlibc PET:

http://bkhome.org/blog/?viewDetailed=02206
[url]https://bkhome.org/news/[/url]

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#297 Post by BarryK »

I have been a busy boy:

http://bkhome.org/blog/?viewDetailed=02213

If anyone wants to create a language translation file for 'welcome1stboot', please do!

And if you need to tweak the text widget dimensions to accomodate the non-English text, let me know about that too.
[url]https://bkhome.org/news/[/url]

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

Re: dietlibc

#298 Post by BarryK »

vovchik wrote:Dear Barry,

I haven't tried with BaCon, but it could be interesting. I am also wondering whether there are any unnecessary symbols we might be able to strip out of the resulting binaries in order to get even smaller ones - of the kind we often get with plain C or C and GTK. We might want to ask Peter about this...

With kind regards,
vovchik
technosaurus is an expert at creating the smallest possible binaries. He might be interested in taking a look at this. I'm getting stripped binaries written with HUG a minimum of about 45KB (with shared hug.so) -- quite likely there are things in there that could go.
[url]https://bkhome.org/news/[/url]

User avatar
maxerro
Posts: 53
Joined: Sun 10 Oct 2010, 16:11

nice job

#299 Post by maxerro »

Very nice work.
Getting the font from jwmrc-theme would probably be a nice tweak.
Small BaCon programs can be UPX-ed to less than 15KB.

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

Re: nice job

#300 Post by BarryK »

maxerro wrote:Very nice work.
Getting the font from jwmrc-theme would probably be a nice tweak.
Small BaCon programs can be UPX-ed to less than 15KB.
BaCon app defaults to using the theme font. I set a specific font to ensure that layout is correct.

There isn't any point in UPXing the program if the PET is builtin when Woof builds a Puppy, as the SFS file is already compressed. But yes, it is useful if the PET is installed afterward, in a running Puppy.

I am mostly concerned about the accumulated size of many BaCon apps in the SFS of a Puppy build. My recent 'welcome1stboot' is 46KB, compared with the gtkdialog script that does almost the same thing at only 7KB. Ignoring the overhead of the common factor (hug.so and gtkdialog), if we have 20 such apps, the total size would be about 1MB versus 140KB -- compressed in the SFS that would probably be about 0.3-0.4MB versus only 50-60KB -- a quite significant jump in size of the live-CD iso.

Post Reply