Saravanan666/pypi-org huggingface dataset:
Package: busmon
busmon - Fedora Bus Monitorbusmon is a TurboGears2 app that watches the Fedora Message Bus withfedmsgand displays realtime graphs about the
activity on the bus.Hacking on busmonGet the source for busmon:$ git clone git://github.com/ralphbean/busmon.git
$ cd busmonInstallvirtualenvwrapperand
use it to create a virtualenv.  In that virtualenv, install all of busmon’s
dependencies:$ sudo yum -y install python-virtualenvwrapper
$ mkvirtualenv busmon
(busmon)$ python setup.py developNow busmon is composed of two parts, a message processor run as a Consumer in
the fedmsg-hub, and a webapp.  The hub takes messages from the fedmsg bus and
forwards them via it’s websocket server to the client’s browser.  Since you’re
developing, you’ll also need some fake message for the fedmsg bus.  You’ll needthreeterminals to run these commands and watch the log messages.In the first:$ workon busmon
(busmon)$ python tools/fake-bus.pyIn the second:$ workon busmon
(busmon)$ fedmsg-hub --websocket-server-port 9919In the third:$ workon busmon
(busmon)$ paster serve --reload development.iniPoint your browser athttp://localhost:8080/for awesome.
Package: buspyrate
BusPyrate – Python interface for BusPirate binary modeBusPirateis a digital electronics debugging tool. It has
abinary modefor interfacing with software rather than
a human. This library provides Python interface for that binary mode.It's early stage and incomplete: only partial support for bitbang mode
and SPI mode is implemented. SPI mode is completely supported, with
exception of the SPI sniffer. There's no proper documentation yet.Seeexamples/for example usage.Note: I only searched PyPi before starting to write this and
wasn't aware of Python 3 port ofpyBusPirateLite.
Package: busrt
Python sync client for BUS/RTThe module contains Python sync client forBUS/RTInstallationpip3installbusrtUsage examplesListenerimportbusrtimporttime# frame handlerdefon_frame(frame):print('Frame:',hex(frame.type),frame.sender,frame.topic,frame.payload)name='test.client.python.sync'# create new BUS/RT client and connectbus=busrt.client.Client('/tmp/busrt.sock',name)bus.on_frame=on_framebus.connect()# subscribe to all topicsbus.subscribe('#').wait_completed()# wait for framesprint(f'listening for messages to{name}...')whilebus.is_connected():time.sleep(0.1)Senderimportbusrtname='test.client.python.sender'bus=busrt.client.Client('/tmp/busrt.sock',name)bus.connect()# send a regular messageprint(hex(bus.send('test.client.python.sync',busrt.client.Frame('hello')).wait_completed()))# send a broadcast messageprint(hex(bus.send('test.*',busrt.client.Frame('hello everyone',tp=busrt.client.OP_BROADCAST)).wait_completed()))# publish to a topic with zero QoS (no confirmation required)bus.send('test/topic',busrt.client.Frame('something',tp=busrt.client.OP_PUBLISH,qos=0))RPC layerHandlerimportbusrtimporttimeimportmsgpack# frame handler (topics/broadcasts)defon_frame(frame):print('Frame:',hex(frame.type),frame.sender,frame.topic,frame.payload)# RPC notification handlerdefon_notification(event):print('Notification:',event.frame.sender,event.get_payload())# RPC call handlerdefon_call(event):# consider payload is encoded in msgpackprint('Call:',event.frame.sender,event.method,msgpack.loads(event.get_payload(),raw=False))# msgpack replyreturnmsgpack.dumps({'ok':True})name='test.client.python.sync.rpc'# create new BUS/RT client and connectbus=busrt.client.Client('/tmp/busrt.sock',name)bus.connect()# subscribe to all topicsbus.subscribe('#').wait_completed()# init rpcrpc=busrt.rpc.Rpc(bus)rpc.on_frame=on_framerpc.on_notification=on_notificationrpc.on_call=on_call# wait for framesprint(f'listening for messages/calls to{name}...')whilerpc.is_connected():time.sleep(0.1)Callerimportbusrtimportmsgpackname='test.client.python.sync.rpc.caller'# create new BUS/RT client and connectbus=busrt.client.Client('/tmp/busrt.sock',name)bus.connect()# init rpcrpc=busrt.rpc.Rpc(bus)params={'hello':123}# call a method, no reply requiredrpc.call0('test.client.python.sync.rpc',busrt.rpc.Request('test',msgpack.dumps(params))).wait_completed()# call a method and wait for the replyresult=rpc.call('test.client.python.sync.rpc',busrt.rpc.Request('test',msgpack.dumps(params))).wait_completed()print(msgpack.loads(result.get_payload(),raw=False))
Package: busrt-async
Python async client for BUS/RTThe module contains Python sync client forBUS/RTInstallationpip3installbusrt_asyncUsage examplesListenerimportbusrt_asyncimportasyncio# frame handlerasyncdefon_frame(frame):print('Frame:',hex(frame.type),frame.sender,frame.topic,frame.payload)asyncdefmain():name='test.client.python.async'# create new BUS/RT client and connectbus=busrt_async.client.Client('/tmp/busrt.sock',name)bus.on_frame=on_frameawaitbus.connect()# subscribe to all topicsresult=awaitbus.subscribe('#')print(hex(awaitresult.wait_completed()))# wait for framesprint(f'listening for messages to{name}...')whilebus.is_connected():awaitasyncio.sleep(0.1)asyncio.run(main())Senderimportbusrt_asyncimportasyncioasyncdefmain():name='test.client.python.async_sender'bus=busrt_async.client.Client('/tmp/busrt.sock',name)awaitbus.connect()# send a regular messageresult=awaitbus.send('test.client.python.async',busrt_async.client.Frame('hello'))print(hex(awaitresult.wait_completed()))# send a broadcast messageresult=awaitbus.send('test.*',busrt_async.client.Frame('hello everyone',tp=busrt_async.client.OP_BROADCAST))print(hex(awaitresult.wait_completed()))# publish to a topic with zero QoS (no confirmation required)awaitbus.send('test/topic',busrt_async.client.Frame('something',tp=busrt_async.client.OP_PUBLISH,qos=0))asyncio.run(main())RPC layerHandlerimportbusrt_asyncimportasyncioimportmsgpack# frame handler (topics/broadcasts)asyncdefon_frame(frame):print('Frame:',hex(frame.type),frame.sender,frame.topic,frame.payload)# RPC notification handlerasyncdefon_notification(event):print('Notification:',event.frame.sender,event.get_payload())# RPC call handlerasyncdefon_call(event):# consider payload is encoded in msgpackprint('Call:',event.frame.sender,event.method,msgpack.loads(event.get_payload(),raw=False))# msgpack replyreturnmsgpack.dumps({'ok':True})asyncdefmain():name='test.client.python.async.rpc'# create new BUS/RT client and connectbus=busrt_async.client.Client('/tmp/busrt.sock',name)awaitbus.connect()# subscribe to all topicsresult=awaitbus.subscribe('#')print(hex(awaitresult.wait_completed()))# init rpcrpc=busrt_async.rpc.Rpc(bus)rpc.on_frame=on_framerpc.on_notification=on_notificationrpc.on_call=on_call# wait for framesprint(f'listening for messages/calls to{name}...')whilerpc.is_connected():awaitasyncio.sleep(0.1)asyncio.run(main())Callerimportbusrt_asyncimportmsgpackimportasyncioasyncdefmain():name='test.client.python.async.rpc.caller'# create new BUS/RT client and connectbus=busrt_async.client.Client('/tmp/busrt.sock',name)awaitbus.connect()# init rpcrpc=busrt_async.rpc.Rpc(bus)params={'hello':123}# call a method, no reply requiredresult=awaitrpc.call0('test.client.python.async.rpc',busrt_async.rpc.Request('test',msgpack.dumps(params)))print(hex(awaitresult.wait_completed()))# call a method and wait for the replyresult=awaitrpc.call('test.client.python.async.rpc',busrt_async.rpc.Request('test',msgpack.dumps(params)))reply=awaitresult.wait_completed()print(msgpack.loads(reply.get_payload(),raw=False))asyncio.run(main())
Package: busrt-worker
Busrt WorkerBUS/RT是一个快速、灵活且非常易于使用的框架，它使用Rust/Tokio编写，受到NATS、ZeroMQ和Nanomsg的启发。Busrt Worker是一个基于busrt消息中间件的异步框架，它对Python库进行了封装，使其更易于使用。特点异步：Busrt Worker基于python asyncio异步引擎，可以轻松处理高并发请求。易用性：Busrt Worker对原生的busrt python客户端进行了封装，使用装饰器即可轻松创建rpc服务。高性能：BUS/RT 使用Rust/Tokio编写，具有出色的性能和可靠性。用法要使用Busrt Worker，请按照以下步骤操作：安装Busrt Worker：pip install busrt-worker导入Busrt Worker：在您的Python项目中导入Busrt Worker。创建Busrt Worker App：创建一个App对象，并注册连接信息。处理消息：使用装饰器指明消息处理方式。以下是一个示例代码片段，演示如何使用Busrt Worker：importasynciofromloguruimportloggerfrombusrtworkerimportApp,ConnectionInfo# 创建 App对象app=App()# 连接信息api_ci=ConnectionInfo('api','localhost:9800','busrt.worker.test',static=True,topic='test/#')caller_ci=ConnectionInfo('caller','localhost:9800','busrt.worker.test',static=True)# 注册连接api=app.registry(api_ci)app.registry(caller_ci)# rpc调用@api.on_call()defadd(a,b):returna+b# 主题订阅@api.subscribe('test/:name')defprint_name(name:str):logger.info(f'{name}pub message')# 钩子函数注册@app.run_on_startupasyncdeftest(server):asyncdefcall():awaitasyncio.sleep(1)logger.info(f'call remote add result{(awaitapp.caller.add(api_ci.final_name,a=1,b=2))}')awaitapp.caller.send('test/i_am_caller')asyncio.create_task(call())# 启动程序app.run()LicenseThe MIT License.
Package: bussilab
A package collecting a heterogeneous set of tools.This package collects a number of tools that are useful enough to be distributed but too small to deserve being published as separate packages.
Source code is onGitHub.
Documentation can be browsed atthis page.To install package and dependencies with pip:pip install bussilabTo install package and dependencies with conda:conda install -c conda-forge -c bussilab py-bussilabTo install dependencies with macports, seedocumentation.
Package: bust
bust bus toolUtility for simply creating and modifying VHDL bus slave modules.ConceptThe main goal of the project is to able to automatically create and modify VHLD bus slave modules based on a simple definition format.
By employing VHDL records the handling of the registers can be completely hidden in a module seperate from the rest of the designers logic.
All referring to the registers are done via a record which specifies if the register is read-only or read-write, and also includes the name.
All bus-specific signals are also wrapped in records. This increases the readability of the design as a whole.Bus supportbust currently supports these bus-types:AXI4-liteIPBusRequirementsbust is thoroughly tested with python 3.6.8 but should work with the following versions:python 3.4python 3.5python 3.6python 3.7python 3.8bust does NOT support python 2.7 and neither should you!Getting StartedInstall the latest relase by using pip:pip install bustUsagebust.py FILE [-o DIR]bust.py --versionbust.py -h | --helpExamplesThe examples folder contains JSON-files for the bus types supported.
The files are human readable to the point that you can create your own from this template alone.
The folder also contain the output files generated based on the JSON-files.SimulationSimulations script are made solely for Modelsim/Questasim. For any other simulators you need to compile everything yourselves.
All testbenches require UVVM - which can be cloned from theirGithub page.IPBusIPBus require the bus package file from theIPBus firmware repoand the customIPBus BFM repomade by me. Both can be cloned from their own repos.See the example files for how you point to the specific folders.Latest Development Version (Bleeding Edge)The latest development version can be found in thedev branchon Github. Clone the repo and checkout the branch.git clone https://github.com/olagrottvik/bust.gitcd bustgit checkout devpip install -r requirements.txtpython -m bustRelease NotesRelease notes can be found at theReleases page.ContributingIf you have ideas on how to improve the project, please reviewCONTRIBUTING.mdfor details. Note that we also have aCode of Conduct.LicenseThis project is licensed under the MIT license - seeLICENSEfor details.
Package: bustard
A tiny WSGI web framework.featuresrouterormrequest and responsecookies and sessiontemplate enginewsgi serverinstallpip install bustard
pip install psycopg2      # if you need orm featureGetting Startedfrom bustard.app import Bustard

app = Bustard()


@app.route('/')
def helloword(request):
    return 'hello world'

if __name__ == '__main__':
    app.run()Just save it as hello.py and run it$ python hello.py
WSGIServer: Serving HTTP on ('127.0.0.1', 5000) ...Now visithttp://localhost:5000, and you should seehello world.
Package: buster
Super simple, Totally awesome, Brute forcestatic site generator forGhost.Start with a clean, no commits Github repository.Generate Static Pages. Preview. Deploy to Github Pages.Warning! This project is a hack. It’s not official. But it works for me.The interfacesetup[--gh-repo=<repo-url>]Creates a GIT repository insidestatic/directory.generate[--domain=<local-address>]Generates static pages from locally running Ghost instance.previewPreview what’s generated onlocalhost:9000.deployCommits and deploys changes static files to Github repository.add-domain<domain-name>Adds CNAME file with custom domain name as required by Github
Pages.Buster assumes you havestatic/folder in your current directory (or
creates one duringsetupcommand). You can specify custom directory
path using[--dir=<path>]option to any of the above commands.Don’t forget to change your blog URL in config.js in Ghost.The InstallationInstalling Buster is easy with pip:$ pip install busterYou’ll then have the wonderfulbustercommand available.You could also clone the source and use thebuster.pyfile directly.Requirementswget: Usebrew install wgetto install wget on your Mac.
Available by default on most linux distributions.git: Usebrew install gitto install git on your Mac.sudoapt-getinstall giton ubuntu/debianThe following python packages would be installed automatically when
installed viapip:docopt: Creates beautiful
command line interfaceseasily.GitPython:
Python interface for GIT.Ghost. What?Ghostis a beautifully designed,
completely customisable and completelyOpen
SourceBlogging Platform. If
you haven’t tried it out yet, check it out. You’ll love it.The Ghost Foundation is not-for-profit organization funding open source
software and trying to completely change the world of online publishing.
Considerdonating to Ghost.Buster?Inspired by THE GhostBusters.Ghost Buster MovieContributingCheckout the existingissuesor create a
new one. Pull requests welcome!Made withjugaadinDilli.
Package: bustools
Python tools for electrical busses such as I2C and SPI.StatusThis package is very much a work in progress, and there is no real documentation yet…  There is currently basic support for theTotal Phase Aardvarkadapter as an I2C master.  There is also initial support for a couple I2C slave devices (seebustools/devices/) and theI2C/SPI Activity Boardplatform.The public API is not guaranteed to be stable until 1.x release.InstallationThebustoolspackage can be installed from PyPI usingpip:$pipinstallbustoolsSupport for the Total Phase Aardvark adapter is not included by default since it only supports Windows, Mac OS X, and Linux.  To include support for the Aardvark adapter, you need to specify the ‘aardvark’ extra:$pipinstallbustools[aardvark]UsageTODOExamplesThe following example uses theTotal Phase Aardvarkadapter to turn on LEDD0on theI2C/SPI Activity Board.$pythonPython 2.7.10 (default, Dec  3 2015, 13:28:10)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.1.76)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import bustools.platforms.totalphase.tp240310 as tp240310
>>> import bustools.adapters.aardvark as aardvark
>>> aardvark.print_devices() # find Aardvark devices attached to this system
1 device(s) found:
    port = 0   (avail)  (2237-889465)
>>> with aardvark.Aardvark(0) as adapter:
...     adapter.target_power = True # enable power to the activity board
...     activity_board = tp240310.TP240310(i2c_master=adapter)
...     led = activity_board.d0
...     led.on()
Package: bustracker
Bus Tracker (NextBus)Python module to get bus data fromNextBusThis is an ongoing project. If you have any requests or contributions, please create aticketInstallFrom PyPI with pippipinstallbustrackerUsage examplesfrombustrackerimportBusTracker# Agency list is from http://webservices.nextbus.com/service/publicXMLFeed?command=agencyListagency='ttc'bus=BusTracker(agency)# get prediction for bus stopsstops=[{'routeTag':506,'stopTag':3292}]predictions=bus.get_predictions(stops)print(predictions)The result is a dictionary of predictions{"predictions":{"message":{"text":"TTC Information 416-393-4636 (INFO)","priority":"Normal"},"agencyTitle":"Toronto Transit Commission","routeTag":"506","routeTitle":"506-Carlton","direction":{"title":"West - 506 Carlton towards High Park","prediction":[{"isDeparture":"false","minutes":"2","seconds":"134","tripTag":"38216487","vehicle":"4189","block":"506_9_90","branch":"506","dirTag":"506_1_506","epochTime":"1563543576881"},...]},"stopTitle":"Gerrard St East At Jones Ave","stopTag":"3292"},"copyright":"All data copyright Toronto Transit Commission 2019."}For developmentTestingpytesttests/test.pyReferencesNextBus GuideGet Agency List
Package: bus-user
bus_userDesigned to work with equipment over buses like Serial/i2c/...FeaturesSerial bus usage! with simply using commandsLicenseSee theLICENSEfile for license rights and limitations (MIT).Release historySee theHISTORY.mdfile for release history.Installationpip install bus-userImportfrombus_userimport*GUIDE!. MOST APPROPRIATE COMMAND PROTOCOLother protocols mot recommendedall cmds must be as params (preferred) in equipment or as special command[<CMD_NAME>] - read param value or run special command[IDN] - read value IDN[DUMP] - run special command[<CMD_NAME> ] - write value in parameter or run special cmd with param[VOUT 12.3] - set value into parameter VOUT[<CMD_NAME> ?] - get available values to write into parameter[MODE ?] - return [0 1 2 3]all command sent must return answer[OK] - if no value was asked
[] - if asked some value, returned without measurement unit
[FAIL] - any common not specified error
[FAIL 0123] - any specified error without description
[FAIL 02 VALUE OUT OF RANGE] - any specified error with description (full variant)1. USAGE COMMANDS MAPNOTICE:If bus cmd return several lines (DUMP for example) - you will get all of them in list!All answers you will get as string and you must parse it by youself!errors will be get within it.frombus_userimport*# SHOW (optional) COMMANDS EXPLICITLY by annotations without values!# ------------------------------------------------------------------classMySerialDevice(BusSerial):IDN:Callable[[Any],TYPE__RW_ANSWER]ADDR:Callable[[Any],TYPE__RW_ANSWER]DUMP:Callable[[Any],TYPE__RW_ANSWER]# USE in code# -----------dev=MySerialDevice()ifdev.connect():answer1=dev.IDN()# return answer for sent string in port "IDN"answer2=dev.VIN()# return answer for sent string in port "VIN"answer3=dev.VIN(12)# return answer for sent string in port "VIN 12"answer4=dev.VIN("12")# return answer for sent string in port "VIN 12"
Package: busybeaver
busybeaverThis package aims to simplify post-processing of MIKE model results into GIS formats.The main objectives are to:-Create an overall framework for post-processing models in batch
-Provide several useful scripts that simplify common post-processing tasks
-Offer an easy to use interfaces for both python and non-python users
-Enable the package to be easily extended with new scriptsFor now, the package is dependent on arcpy which requires an ArcGIS license.
Package: busyboulder
busyboulder 🧗Check climbing gym occupancy using the command line.Currently supported gym chains:Seattle Bouldering ProjectEdgeworks (Stone Gardens)Vertical WorldInstallationThe easiest way to install this package is to use Python'spip.$ pip install busyboulderAlternatively, clone this package and install manually:$ git clone https://github.com/chillel/busyboulder
$ cd busyboulder && pip install .UsageCheck out the user guide by typing the following:$ busyboulder --helpTo get occupancy info for "Seattle Bouldering Project", try the following:$ busyboulder --gym "sbp"Seattle Bouldering Project Poplar (POP)Visitors: 115, Capacity 880, 13% full.
Last updated: Last updated: now  (9:13 PM)Seattle Bouldering Project Upper Walls (UPW)Visitors: 11, Capacity 160, 7% full.
Last updated: Last updated: 3 mins ago (9:10 PM)Seattle Bouldering Project Fremont (FRE)Visitors: 62, Capacity 441, 14% full.
Last updated: Last updated: now  (9:13 PM)Supporting New GymsPlease refer to the README in the data directory,here.
Package: busyflow.pivotal
Simple exampleIf you don’t have a token, get one using username and password (or
just pass it directly):>>> client = PivotalClient(token=None, cache='path/to/cache')
>>> token = client.token.active('username', 'password')['token']['guid']>>> client.token = tokenGet some projects:>>> projects = client.projects.all()['projects']Get current stories for a project:>>> iterations = client.iterations.current(projects[0]['id'])>>> storries_in_current_iteration = iterations[0]['iteration']['stories']This should probably be client.projects.iterations.current(), but using
flat structure at the moment.Missing methods and endpointsMembers:GET http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/memberships
POST http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/memberships
GET http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/memberships/$MEMBERSHIP_ID
DELETE http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/memberships/$MEMBERSHIP_IDProject:POST http://www.pivotaltracker.com/services/v3/projects - missing parameters
PUT http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/stories/deliver_all_finishedTasks:GET http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/stories/$STORY_ID/tasks/$TASK_ID
GET http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/stories/$STORY_ID/tasks
POST http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/stories/$STORY_ID/tasks?task\[description\]=clean%20shields
PUT http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/stories/$STORY_ID/tasks/$TASK_ID
DELETE http://www.pivotaltracker.com/services/v3/projects/$PROJECT_ID/stories/$STORY_ID/tasks/$TASK_ID(TODO find out whether it is possible to pass parameters to stories/projects throught URL)
Package: busylite
BusylitePython command line tool to interact with the  Kuando Busylight. This is a work in progress and real rough... so use at your own risk!Drawing a lot of inspirtion from these sources:cython-hidapijs-busylightBusyLightSpecsInstallInstall via PyPi:pipinstallbusyliteCLIAfter installing, A quick way to get up a running is with the inlcuded CLI:busycli --helpServer AppThere is also an included Flask App, to accept HTTP POST requests. Start the server:busycliservelocalhost5000-uspam-peggsAnd then make a POST:curl-uspam:eggs-XPOST-ihttp://localhost:5000/send/doneSetupNeeded to get the produt and vendor ID. Easist way to grab this was tolsusbbefore and after plugging in the busylight:Vendor: 27bbProduct: 3bcdModelName: BusyLight UC OmegaNon-Root AccessNeed to add a udev rule:echo"SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"27bb\", ATTRS{idProduct}==\"3bcd\", GROUP=\"$(whoami)\", OWNER=\"$(whoami)\", MODE=\"0664\""|sudotee-a/etc/udev/rules.d/30-busylight.rulesTest out the rules:sudoudevadmtest/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5.2Where the syspath parameter was pulled from the output of:udevadminfo-a-p$(udevadminfo-qpath-n/dev/bus/usb/002/010)where the dev path was pulled fromlsusb.DependenciesNeed to install some things and setup an environment:sudoaptinstalllibusb-1.0-0-devlibudev-devWriting to HIDMimicking the methodologyherebuffer is constructed like:Init as[0,16,0,0,0,0,0,0,128]Add fifty zeros[0]*50Append this to end:[255, 255, 255, 255, 6, 147]Buffer positions:red   : 3green : 4blue  : 5sound : 8Color ValuesRed: 0-255Green: 0-255Blue: 0-255Sound Values:OpenOffice        : 136Quiet             : 144Funky             : 152FairyTale         : 160KuandoTrain       : 168TelephoneNordic   : 176TelephoneOriginal : 184TelephonePickMeUp : 192Buzz              : 216Volume is controlled by adding1to each tone: 0=MUTE, 7=MAXThe last two entries in the buffer are a checksum on the buffer:checksum=sum(self.buffer[0:63])self.buffer[63]=(checksum>>8)&0xffffself.buffer[64]=checksum%256