Seems like there could be a significant performance hit for 32 bit 
architectures. We don’t directly use LinuxCNC, but EMCApplication is a shallow 
fork of LinuxCNC that will occasionally pull from upstream. We use 
EMCApplication on the BeagleBone Black, which is a 32 bit architecture and is 
already a bit strained performance-wise.

> On Oct 11, 2023, at 3:11 AM, andy pugh <bodge...@gmail.com> wrote:
> 
> General chat at the Stuttgart meetup drifted onto the subject of HAL
> pin types, and a suggestion that all pins could be of type "double"
> and it would still work. This may actually what the STMBL does.)
> 
> A double can exactly represent signed integers up to 43 bits, so this
> would actually be an improvement on the HAL version in 2.9
> 
> master currently has S64 and U64 types added, and a set of conversion
> functions to suit.  This means that there are a total of 7 HAL pin
> types (bit, float, S32 U32, S64, U64, port)  and 42(?) conversion
> functions.
> 
> My proposal, based on further discussion in Stuttgart is to replace
> _all_ integer types with Signed-64.  This would very much simplify
> many HAL configs which are currently liberally scattered with
> conv_NN_NN components. The choice of S32 or U32 in many components
> appears to be based purely on the whim of the original coder.
> 
> I anticipate this happening in a couple of steps, over a couple of
> LInuxCNC major versions.
> 
> Step 1 is simply to map all the integer  hal_pin_new*_*()  functions
> in HAL to hal_pin_new*_S64() and to replace the integer conv_NN_NN
> functions with a simple pass-through.
> I think that this would be entirely transparent and would not affect
> the function of custom HAL components "out in the wild"
> 
> The task of converting the built-in HAL components could then proceed
> piecemeal as the opportunity occurred. (for example increasing the
> width that is processed in "bitwise")
> 
> The other integer types and conversion functions would, at this stage,
> just be marked as deprecated.
> 
> There is the possibility of making the required HAL changes in the
> update_ini script, though it might be non-trivial to get right (And
> the changes _should_ be unnecessary)
> 
> Apart from a simplification of HAL, this also addresses
> https://github.com/LinuxCNC/linuxcnc/issues/2331
> 
> -- 
> atp
> "A motorcycle is a bicycle with a pandemonium attachment and is
> designed for the especial use of mechanical geniuses, daredevils and
> lunatics."
> — George Fitch, Atlanta Constitution Newspaper, 1912
> 
> 
> _______________________________________________
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to