Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I want to develop some HAL (Hardware Abstraction Layers) to use in PIC32 and some ARM.
Basically I want to make some code that's usually available on a OS, like generic pin access, communication libraries, device I/O, etc.
Could you advise me with good books/websites?
I'll start with one that I've found a few weeks ago: http://www.kalinskyassociates.com/OnLineLearning.html
Thanks
Have you tried looking at some implementations?
eCos has a HAL, which has some documentation to go along with it.
eLua also has a HAL that has grown around it to support the platforms it runs on (ARM, AVR32, etc..), check the architecture information and the "Platform Interface" and "Generic Modules" menus. If you strip out the Lua, eLua is essentially a HAL.
There are likely other examples as well, but I'd recommend looking at living examples of cross-platform and non-cross-platform hardware APIs. Also, if/when you go and start putting together interfaces, make sure to examine individual platform peripheral implementations before nailing down the API. You will find that certain interaction models are commonly supported across many platforms, and others are very platform specific. If your API assumes functionality will always be available, it will be difficult to port to platforms that either have lacking or non-existent support for the functionality you want. Sometimes you may be able to work around this in software with simple solutions, other times you may find it is either impossible or horribly complicated to make behavior consistent across platforms.
You can try also looking at the OSEK interface documents. The standard does a good job of abstracting accesses to most commonly used peripherals. However, bear in mind that this is only a spec and you'd have to work out all implementation details.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Having worked for a couple of years in software development, I grew wondering how to effectively communicate at work as of nitty gritty details of UX, functionality changes, error reporting system, and so on.
I have worked for two small companies here in South Korea and found out communication is done only orally from the start to the end, and never had any habit of software documentation.
I think it’s very odd because meticulous planning and effective software management cannot be done with spoken communication only.
(Although, I think in some sense, it may be justified if a company is not big enough to handle the extra workload.)
So, recently, I am genuinely interested in written communication for software, trying to rekindle a little bit knowledge of software engineering that I learned at college.
I’m trying to teach myself how to visualise my work and practice documentation on my own in practical level.
So, my question would be
Do you know any free graphic tools that can help me draw diagrams or UML, or etc?
Also, It will be appreciated if you could talk about how you document your app for future refactoring and better management.
Thank you.
Also, It will be appreciated if you could talk about how you document your app for future refactoring and better management.
I think you need to read about Agile software development.
Manifesto for Agile Software Development
Make attention on the next point:
Working software over comprehensive documentation
In your situation this can be explained as software writed in "clean" and understandable way with suits of unit and acceptance tests will be more effective then writing static documentation and UML diagrams.
I found UML diagrams are good for designing components in the beginning(but usually had used white boards). Then all diagrams was thrown away after all needed unit, acceptance tests was created.
Regular code reviews are good dynamic tool for sharing best practices, code styles or other information about developing software. So while you sharing knowledge about your software between members regularly, information will stay up-to-date inside team.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
I want to understand how exactly the OMG Data distribution service works and how it can be used for real time inter process communication with better performance.Please suggest me the best resources/books? i tried with Google and YouTube but could not able to get the exact DDS functionality related information and DDS implementation in real time.
The Data Distribution Service Portal at the OMG contains several tutorials contributed by the different vendors. See http://portals.omg.org/dds/tutorials these can be good references as they tend to focus on the standard features and less on vendor-specific details.
That said several of the vendors have created excellent tutorials. In addition to the one mentioned in the previous post I like the one by Twin Oaks Computing. The whole tutorial fits in one (long) HTML page with nice concept and figures: http://www.twinoakscomputing.com/coredx/dds_tour
For more in depth coverage I like the eLearning program from RTI (the company where I work) http://www.rti.com/elearning/index.html
Two of the modules that are available for free provide very good intro material on concepts and design patterns:
Introduction -- http://vimeo.com/user14186439/review/57448029/6138f1e5c1
Instances Samples and Data-Types -- http://vimeo.com/user14186439/review/61771143/d59ca69515
Also I would recommend the Case+Code (use-case) examples in the RTI Community Portal. They provide complete code examples illustrating how the different DDS APIs and QoS can be use to meet realistic use-cases. See http://community.rti.com/case-and-code
Gerardo
No books that I know of, but I like this paper...
http://www.slideshare.net/Angelo.Corsaro/the-data-distribution-service-tutorial
It guides you through some of the features of DDS and how you could utilize them by referring to a temperature sensor example.
If you want something more hands-on, there is an Open Source implementation of DDS at
http://www.prismtech.com/opensplice/opensplice-dds-community
which contains a set of examples and a lot of other documentation about the features and API.
Thanks
James
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 4 years ago.
Improve this question
What websites (not books) document designs (UML or otherwise) for software applications?
Building architects have many resources available for inspiration and construction. I do not seek resources on constructing software (such as Meyer's Object-Oriented Software Construction), but rather examples of designs for software components or class diagrams that can be used as a starting point for developing an applcation.
Example applications might include:
Game System
Word Processor
User Interface
Telephony Call Control
Clinic Scheduling
Notification System
Incident Management
Network Monitoring
Restaurant Catering
Dispatching (Taxi, Police)
Selling Vacation Packages
The Design Patterns book is a good start, but a bit too low level.
Grady Booch has a great site for just this thing at
http://www.handbookofsoftwarearchitecture.com/index.jsp?page=Main
But you do have to register to look at the diagrams.
Do you mean things like Microsoft's Patterns and Practices?
For simple explanations, sample codes and use cases of common software design patterns, you can check out http://sourcemaking.com/design_patterns. They are generally aimed at solving common problems and can, in fact, be considered as re-usable architectures in software development.
For information related to domain-specific systems, such as games, there can be other domain-specific problems that have been addressed in different architectures, such as some of the links you have provided. Finding a single source which can list all this information in a unified architecture may not be possible, at best. Generic design patterns, such as those from the Gang of Four, is a better start for this reason, I believe.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
A lot of you have starting to write programs since college or even earlier.
When you were on university the level of professionalism increased.
If you have to write an article about your software application how do you do it? I'm not talking about a documentation or help manual. I'm talking about an article/paper for academia world. Do you have any idea where can I find those type of articles for free?
This is also a programmer job, even we like to do it or not.
Here's one I made (much) earlier.
Abstract:
This paper presents details of the
Safety Argument Manager (SAM) a PC
based tool to support safety case
construction. SAM is novel in that it
stresses total system safety and is
designed to support an integrated
process for design and assessment. SAM
provides facilities for the
construction of high level safety
arguments and for building up complete
and consistent supporting evidence. In
this paper we focus on the achievement
of high quality supporting evidence,
by describing SAM's facilities for
integrated modeling and safety
assessment. We also illustrate the use
of SAM with a car braking system
example.
What it does, why it's novel, how it does it at a high level, small concrete example shown end-to-end.
Usually papers are rarely about software itself but rather about concepts, ideas and algorithms. Those are explored through software and the authors may give specific examples how they implemented those in their software but most papers are not specifically about a software application itself as those usually have very little valuable content.
There are only few of such papers I've come across so far:
SPRNG: a scalable library for pseudorandom number generation.
Presto: An Experimental Architecture for Fluid Interactive Document Spaces.
Other papers may follow which then concentrate on how specific optimizations or changes were implemented and also new ideas. But I think in those areas real innovation is rare and there is much more text than actual content.
Google Scholar is exceptionally useful for finding freely available academic publications, particularly in the CS/software world.
While many peer-reviewed journals hide things behind paywalls, academics have a tendency to publish working versions or drafts on their personal websites and such. You can find these using Google Scholar (by clicking the "See all X versions" link).
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
I need to read the user's fingerprint from my application.
What I really want is a simple SDK that works with a lot of inexpensive fingerprint readers but I can deal with something that works only with one specific model if that model is cheap and available worldwide.
And it has to be royalty-free, I can pay for a development license but if I have to pay for each installation I just can't use it.
What I'm doing has no relation to login or encryption, so the software included with the reader will probably be useless to me.
There is no standard API for reading fingerprint data as far as I'm aware since it is a fairly new field and there's no standard way of doing it. Each manufacturer will provide their own API for reading the hardware. The API could just be IO specification to the hardware and there's no library whatsoever, which makes things a bit trickier. This is down to two factors. The first is that finger print readers are used in many applications - custom hardware, embedded systems through to PC authentication and beyond. Providing software for all those different systems would not be viable from the manufacturers point of view. Secondly, each manufacturer uses a different approach to reading and processing the captured images which would make a common API problematic.
It's an old question, but I bumped into it while researching the topic.
I did find a free library for Linux - libfprint
Digitalpersona has a free SDKs both for windows and linux.
http://www.digitalpersona.com/products/developer.php
I dont know if there are costs for deploying with their SDKs.
(Actually it appears they don't charge per machine/user licensing.)
Did you take a look at the BioAPI consortium site? There's a library for linux over at Google code.
There's also libchipcard, but it doesn't mention fingerprint readers, only smart cards.
Hope that helps.
Symbol has an api for their MC75 handheld devices:
http://support.symbol.com/support/search.do?cmd=displayKC&docType=kc&externalId=12364&sliceId=&dialogID=104336066&stateId=1%200%20104330426
Of course, it only works for their Windows Mobile 6 MC75 devices.
See Windows Biometric Framework.