Recent

Author Topic: Pascal eXtended Library (aka Asphyre) released!  (Read 51778 times)

hnb

  • Sr. Member
  • ****
  • Posts: 264
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #30 on: November 26, 2015, 09:29:54 pm »
@ykot

I see that the license is still unchanged ... :(
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

ykot

  • Full Member
  • ***
  • Posts: 141
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #31 on: November 26, 2015, 11:17:57 pm »
I see that the license is still unchanged ... :(
Well, new version wasn't released yet. :) Currently, it is under development (GitHub's master contains latest sources), specifically for embedded targets (ARM / AVR). Also, I've been thinking on licensing it through LGPL with static linking, but couldn't find a reliable source of such license statement. Would appreciate any suggestions on this.

Regarding latest developments, I've attached screenshot of stuff working on Atmel's ATTiny2313. It also works on Arduino Uno, but I'm waiting for Jeppe Johansen to look into a compiler bug with register allocations that affects PXL's character LCD display class. Michael Ring contributed code for STM32F4xx and Nucleo boards; support for LPC11xx (ARM Cortex-M0) is already available. Teensy board will be supported as well.

As for non-embedded stuff, I'm working on lightweight/fast SVG support, which should enable development of nicer looking, scalable UI.

P.S. The library should be already compliant with Raspberry PI Zero that just came out, if anyone could try it...

taazz

  • Hero Member
  • *****
  • Posts: 5363
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #32 on: November 26, 2015, 11:23:33 pm »
Well I personally avoid all range of gpl licenses. the exceptions made are very few and very very very far apart for this decade I made the exception for lcl/fcl after 2020 I might consider for a new library. In any case, this look very promising.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

hnb

  • Sr. Member
  • ****
  • Posts: 264
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #33 on: November 27, 2015, 08:37:55 am »
Well, new version wasn't released yet. :) Currently, it is under development (GitHub's master contains latest sources), specifically for embedded targets (ARM / AVR). Also, I've been thinking on licensing it through LGPL with static linking, but couldn't find a reliable source of such license statement. Would appreciate any suggestions on this.

Regarding latest developments, I've attached screenshot of stuff working on Atmel's ATTiny2313. It also works on Arduino Uno, but I'm waiting for Jeppe Johansen to look into a compiler bug with register allocations that affects PXL's character LCD display class. Michael Ring contributed code for STM32F4xx and Nucleo boards; support for LPC11xx (ARM Cortex-M0) is already available. Teensy board will be supported as well.

As for non-embedded stuff, I'm working on lightweight/fast SVG support, which should enable development of nicer looking, scalable UI.

P.S. The library should be already compliant with Raspberry PI Zero that just came out, if anyone could try it...

Just follow mORMot license model (it covers all needs):

http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html#TITLE_607

licensing model is especially important for me because I want to integrate PXL with incoming FreeSparta Lazarus distro together with mORMot library :). Maybe you wish to cooperate with me?
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

ykot

  • Full Member
  • ***
  • Posts: 141
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #34 on: November 27, 2015, 09:16:35 pm »

Just follow mORMot license model (it covers all needs):

http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html#TITLE_607
I'm okay with this. I can re-release v1.0 branch with the triple license and will progressively change files in master branch too.

licensing model is especially important for me because I want to integrate PXL with incoming FreeSparta Lazarus distro together with mORMot library :). Maybe you wish to cooperate with me?
Sure, this sounds really interesting.

ykot

  • Full Member
  • ***
  • Posts: 141
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #35 on: December 01, 2015, 11:36:48 pm »
Just to let you know that I've updated v1.0 branch of Pascal eXtended Library with new licensing options, including MPL 2, GPL 3 and LGPL 3, the last two having linking exception. Please let me know if you encounter any issues with this.

hnb

  • Sr. Member
  • ****
  • Posts: 264
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #36 on: December 01, 2015, 11:58:23 pm »
Just to let you know that I've updated v1.0 branch of Pascal eXtended Library with new licensing options, including MPL 2, GPL 3 and LGPL 3, the last two having linking exception. Please let me know if you encounter any issues with this.

good news ^^. I will send you PM with more details of sparta/plx/mormot idea, but I need first to finish few tasks in my daily work :\.

About license, I am not sure in one point (only one difference with mORMot license):
Quote
In addition, for the case of LGPL, the following is added to the aforementioned exception:

You must allow modification of the portions of the library you use and reverse engineering (of your program and the library) for debugging such modifications.

Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

malcome

  • Jr. Member
  • **
  • Posts: 76
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #37 on: December 02, 2015, 02:32:33 am »
That’s amazing library!  ヽ(^^)/
Thank you so much!

hnb

  • Sr. Member
  • ****
  • Posts: 264
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #38 on: December 29, 2015, 10:46:07 pm »
About license, I am not sure in one point (only one difference with mORMot license):
Quote
In addition, for the case of LGPL, the following is added to the aforementioned exception:

You must allow modification of the portions of the library you use and reverse engineering (of your program and the library) for debugging such modifications.

This point is necessary? It makes yours LGPL license is incompatible with many other LGPLs (mORMot, Castel Game Engine etc.)
Checkout NewPascal initiative and donate beer - ready to use tuned FPC compiler + Lazarus for mORMot project

best regards,
Maciej Izak

ykot

  • Full Member
  • ***
  • Posts: 141
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #39 on: December 29, 2015, 11:55:59 pm »
This point is necessary? It makes yours LGPL license is incompatible with many other LGPLs (mORMot, Castel Game Engine etc.)
Sorry, I've been away for a short period and then missed the reply among new/unread posts. No problem, I'll remove that license exception.

x2nie

  • Sr. Member
  • ****
  • Posts: 478
  • Impossible=I don't know the way
    • impossible is nothing - www.x2nie.com
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #40 on: December 30, 2015, 06:04:57 am »
...It also works on Arduino Uno, but I'm waiting for Jeppe Johansen to look into a compiler bug with register allocations that affects PXL's character LCD display class.
...
As for non-embedded stuff, I'm working on lightweight/fast SVG support, which should enable development of nicer looking, scalable UI.


@ykot: hey, your picture attracts me!
I am very interesting in SVG development + ARDUINO+LCD.


SVG: I am author of GR32_SVG (not really first author, I am porting it from GDI+Plus into GR32 lib)
I also added a few features on it, that was missing part from other Pascal SVG lib.
I will try PXL as soon


Arduino+LCD: is there a delphi/lazarus application to try?

When you were logged in, you can see attachments.
Lazarus Trunk @ Windows7 64bit, XP 32bit, Debian under VirtualMachine

ykot

  • Full Member
  • ***
  • Posts: 141
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #41 on: December 30, 2015, 04:13:03 pm »
Actually, it would be great to reuse some existing SVG library if such exists, I have briefly looked into what's in Lazarus packages - AggPas is just too heavyweight and fpvectorial is too heavily dependent on other heavyweight RTL stuff (I guess only its author would know how realistic it would be to port it to embedded platform). For embedded stuff, the library should ideally use minimal RTL and as little dependencies as possible.

SVG: I am author of GR32_SVG (not really first author, I am porting it from GDI+Plus into GR32 lib)
Are you referring to Graphics32? I briefly checked its web site, but haven't used that library myself. Maybe it is in some way similar to "PXL.Surfaces.pas" - TPixelSurface with PixelFormat set to A8R8G8B8, so perhaps it would be possible to port SVG library to PXL as well. This would help greatly as I would be able to work on GUI portion right away and avoid reinventing the wheel.

Arduino+LCD: is there a delphi/lazarus application to try?
Not that I'm aware of, though you can just take some existing minimalistic C/C++ AVR tutorial and port it to Pascal; building FPC trunk for AVR is pretty straight-forward (please let me know if you need some instructions). To upload the application to Arduino, you can use AVRDude. I suspect that with minimal modifications to Lazarus, it would be possible to let IDE do this automatically when you select "Run", so it can become a very powerful alternative to Arduino IDE (which can target not only certain Atmel chips as Arduino IDE does, but also ARM chips from other manufacturers).

x2nie

  • Sr. Member
  • ****
  • Posts: 478
  • Impossible=I don't know the way
    • impossible is nothing - www.x2nie.com
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #42 on: January 01, 2016, 04:28:35 am »
Yes, graphics32 (main unit = GR32.pas).
Luckily yes, all operation in gr32 uses 8bit per channel with 4 channel.
I may need to double check later, whether it uses ARGB or AGBR byte order.
But gr32 can work with any of both.


During development of my SVG for GR32, I found that we can work progressively :
* implement common shape : rectangle, circle, triangle
* implement advanced shape : basic polygon
* implement additional properties : line-width, line-join-types, known-web-colors-name, ..
* implement advanced properties : gradients
* implement difficult shape : full supported polygon : bezier, cubic-bezier, quad-bezier


my SVG has known bug at drawing a few specific gradients (compared with modern web browser result).
Anything else seem work fine in delphi.
It was a bit old project, I didn't yet use it with Lazarus/FPC.
I think it wouldn't be difficult to use in Lazarus, since GR32 has supported Lazarus since 0.9 already.


For such using SVG in embeded system,
GR32 internally has switchable function to use TFixed 32bit integer to simulate Single float operation;
You know what it mean.
GR32 also able to intensively uses modern processor instruction such SSE2, SSe3, MMX, etc..
GR32 always provide the similar assembler function together with pure pascal.
GR32 support VCL & LCL per widgetset basis.


Another SVG library is from FoembJump game by Benjamin 'BeRo' Rosseaux, the author of FPC for Delphi.
This game was written in Delphi/Lazarus, for desktop (windows/linux) and Android,  operate over SDL.
There are SVG.pas shipped with game source code. A little bit messy, but work fine.



Arduino+LCD:
I have both arduino uno and the lcd, and played with them using tutorials.
But I totally idioit: didn't know how to port arduino C code to Pascal. I have no imagination about it.
Would you like to send me the "Hello from Pascal" lazarus project? At least I will have a workable source code to try with AVRDude?


Thanks you
When you were logged in, you can see attachments.
Lazarus Trunk @ Windows7 64bit, XP 32bit, Debian under VirtualMachine

ykot

  • Full Member
  • ***
  • Posts: 141
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #43 on: January 02, 2016, 09:30:29 pm »
This point is necessary? It makes yours LGPL license is incompatible with many other LGPLs (mORMot, Castel Game Engine etc.)
Sorry, I've been away for a short period and then missed the reply among new/unread posts. No problem, I'll remove that license exception.
Change submitted to v1 branch on GitHub.

Arduino+LCD:
I have both arduino uno and the lcd, and played with them using tutorials.
But I totally idioit: didn't know how to port arduino C code to Pascal. I have no imagination about it.
Would you like to send me the "Hello from Pascal" lazarus project? At least I will have a workable source code to try with AVRDude?
I have written a quick/dirty tutorial in here. I have another example that displays text on LCD, but it was optimized for ATTiny2313. I'll try to port it to ATMega328P (Arduino) and attach it there later on.

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7098
Re: Pascal eXtended Library (aka Asphyre) released!
« Reply #44 on: January 03, 2016, 01:19:56 pm »
ykot: is the fonttool source somewhere?

I was starting one on my own (for http://forum.lazarus.freepascal.org/index.php/topic,30556.0.html) , and then I found there already was one.

Want to see if I can extend it with (1) angelcode format as save option (2) signed distance (3) distance between chars in texture
« Last Edit: January 03, 2016, 01:24:39 pm by marcov »