fundacaocerti / jocd Goto Github PK
View Code? Open in Web Editor NEWOpen source java library for programming micro:bit using CMSIS-DAP
License: Apache License 2.0
Open source java library for programming micro:bit using CMSIS-DAP
License: Apache License 2.0
The following warning is given when the project is compiled:
jOCD/jocd/src/br/org/certi/jocd/dapaccess/DapAccessCmsisDap.java:
uses unchecked or unsafe operations.
Recompile with -Xlint:unchecked for details.
When a timeout occurs on a read operation USB implementation will log the error and return null (no data available).
CmsisDapProtocol needs to handle this exception and be aware that it might receive a null array of bytes.
Create an implementation for CMSIS-DAP DAP_SWD_CONFIGURE command.
Instead of allocating a class to each OS at run time we should select and compile only the desired one so we won't wast resources with unnecessary implementation.
On DapAccess package we have a package named "usbinterface" and a class "UsbInterface" which isn't a good name. Android uses exactly the same name for interfaces from usb devices.
So we must rename this package and class to not cause misunderstanding.
jOCD is using Log (android.util.Log) and Context (android.content.Context) both from Android.
We should keep jOCD independent from Android. One possible way is creating another equivalent class to Log, and pass the context as an object to AndroidUsbDevice.
Create an implementation for CMSIS-DAP DAP_DISCONNECT command.
Create an implementation for CMSIS-DAP DAP_SWJ_CLOCK command.
Create an implementation for CMSIS-DAP DAP_SWJ_SEQUENCE command.
The USB device access interface shall be implemented on top of the USB Host Android API to enable an Android device to access the micro:bit board.
Assert keyword are meant just for debugging.
We should change asserts to "if" and throw exceptions instead.
The Android USB implementation uses a boolean called "open" which is used by more than one thread an can cause concurrency problems. Change its type to AtomicBoolean so we will be sure it won't have any problem during write/reads from different threads.
There is no need to use LinkedList. We should use ArrayDeque instead which is faster.
Create an implementation for CMSIS-DAP DAP_INFO command.
usb4java implementation from ConnectionInterface is not Working on Windows (and it's not tested under Mac OS X).
A thread on usb4java group has been opened: https://groups.google.com/forum/#!topic/usb4java/vUb1eGdrDvQ
Create an implementation for CMSIS-DAP DAP_CONNECT command.
Currently we have two ways to convert from byte to long.
This should be refactored to a unique method to convert byte->long and another long->byte.
Any other methods (array conversion) should use this same method so we don't repeat code.
On some piece of code, we have "TODO" marks to indicate that to code isn't completed and some work is needed.
Some of this might not ever become implemented. So we must be sure that not a single "TODO" will be in the middle of the flashing logic by throwing exceptions.
Create an implementation for CMSIS-DAP DAP_TRANSFER_CONFIGURE command.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.