BaCon - Bash-based Basic-to-C converter/compiler
BaCon and USB IO
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
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
- L18L
- Posts: 3479
- Joined: Sat 19 Jun 2010, 18:56
- Location: www.eussenheim.de/
BaCon and USB IO
Dear Volhout
Best regards
I think bacon Troubleshouting area can and will help youCan someone help me ??
Best regards
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
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
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]
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
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.
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]
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
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'
- L18L
- Posts: 3479
- Joined: Sat 19 Jun 2010, 18:56
- Location: www.eussenheim.de/
BaCon proxy-setup
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.
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.
bsplash = bacon-based splash program
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.
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.
bsplash = bacon-based splash program
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)
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
- abushcrafter
- Posts: 1418
- Joined: Fri 30 Oct 2009, 16:57
- Location: England
- Contact:
bsplash
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/
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/
bsplash
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
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.
Re: bsplash
vovchik,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
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?)
- abushcrafter
- Posts: 1418
- Joined: Fri 30 Oct 2009, 16:57
- Location: England
- Contact:
Keyboard Control Suggestions
- Esc=Dismiss
- Enter=Dismiss
- M=Minimize into task-bar.
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/
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/
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
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.
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]
dietlibc
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
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
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
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.
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]
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
Re: dietlibc
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.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
[url]https://bkhome.org/news/[/url]
- BarryK
- Puppy Master
- Posts: 9392
- Joined: Mon 09 May 2005, 09:23
- Location: Perth, Western Australia
- Contact:
Re: nice job
BaCon app defaults to using the theme font. I set a specific font to ensure that layout is correct.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.
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.