bitfields
bitfields
is a pure crystal library to handle bitfields translations similar to C.
Installation
- Add the dependency to your
shard.yml
:
dependencies:
bitfields:
github: elorest/bitfields
- Run
shards install
Usage
require "bitfields"
class CrossBit < BitFields
bf rpms : UInt32, 32
bf temp : UInt8, 4
bf psi : UInt16, 9
bf power : UInt8, 1
bf lights : UInt8, 2
end
crossbit = CrossBit.new(Bytes[109, 121, 110, 97, 109, 245])
puts crossbit.temp
puts crossbit.psi
puts crossbit.power
puts crossbit.lights
puts crossbit.to_slice
puts crossbit.to_s
puts crossbit.power = 1
puts crossbit.to_slice
Contributing
- Fork it (https://github.com/elorest/bitfields/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Isaac Sloan - creator and maintainer