Gengis Kanhg Toledo-Ramirez

Calendar

May 2012
M T W T F S S
« Nov    
 123456
78910111213
14151617181920
21222324252627
28293031  

Old entries

Visits



Free web hostingWeb hosting

Comedi, linux control and measure device interface

Comedi logo

The Comedi project develops open-source drivers, tools, and libraries for data acquisition.

Comedi is a collection of drivers for a variety of common data acquisition plug-in boards. The drivers are implemented as a core Linux kernel module providing common functionality and individual low-level driver modules.

Comedilib is a user-space library that provides a developer-friendly interface to Comedi devices. Included in the Comedilib distribution is documentation, configuration and calibration utilities, and demonstration programs.

Kcomedilib is a Linux kernel module (distributed with Comedi) that provides the same interface as Comedilib in kernel space, suitable for real-time tasks. It is effectively a “kernel library” for using Comedi from real-time tasks.

Features

* Integrated real-time support for most hardware
* High-level library (comedilib)
* Application-level device independence
* Requires a Linux 2.6 kernel.

Real-time controller approach for robotics under POSIX

http://gengis.dialetheia.net/descargas/a.png

From Borland C++ to ISO/ANSI C++

A guide to translate C++ code for developers.

I was in a mistake programming with non standard language code. I moved to free world by move to GNU/Linux. I used Borland C++ and now I use ISO/ANSI C++ with the GNU project tools (gcc, gdb, emacs, BASH, etc).

Firstly, you should read about ISO and ANSI C++, it is more commonly use ANSI C++, but ISO C++ is the correct.

It is easy, special for new programmers, that Borland C++ IDE guide you through bad programming practices. It is very easy to make a windows application with Borland C++ but is very easy to use bad and ugly programming practices too.

The principal bad programming practices usually made with C++ IDEs are:

1. Use C code instead of C++.
2. Do not use POO, or use only the classes integrated with your IDE.
2. Use IDEs’ owner libraries instead of standards.
3. Do merge the own code with GUI code.

To learn ISO/ANSI C++ from scratch or from C knowledge I recommend you to read: “C++ For Dummies by: Stephen Randy Davis ISBN: 0764568523″, it is cheap. If you prefere you can download the Free Electronic Book: “Thinking in C++” 2nd Edition by Bruce Eckel.

One important thing to know is the STL (Standard Template Library). This library compliance with the ISO/ANSI C++. You should read about in [1].

Lets see and equivalence table between Borland C++ functions and STL functions. Note. This is only a guide, you should not use directly the “replace function” of your text application, in some case, when you had understand about, you can use it, but in others no.

Borland C++ ISO C++ Comments

&

Reference

AnsiString STL:string http://www.aprendelo.com.mx/rec/c-standard-template-library.html

http://people.msoe.edu/~tritt/cpp/examples.html

Dynamic Array

.Length

.Length=100

.Length=0

STL:vector

.size()

.resize(100)

.clear()

http://www.sgi.com/tech/stl/Vector.html
TBitMap

.Width

.Height

.Width=150 & .Height=120

.Canvas->Pixels[x][y]

.Canvas->Pixels[x][y]=TColor()

.SaveToFile(arg…)

.LoadFromFile(arg…)

.Assign(TBitMap)

pngwriter library

.getwidth()

.getheight()

.resize(150,120)

.read(x,y,color)

.plot(x,y,red,green,blue)

.write_png()

.readfromfile(arg…)

pngwriter(&pngwriter T)

(use the copy constructor)

http://pngwriter.sourceforge.net/
TFileStream

.WriteBuffer(arg…)

.ReadBuffer(arg…)

iostream:fstream

.write(arg…)

.read(arg…)

http://www.cplusplus.com/doc/tutorial/tut6-1.html
TStringList

.Add(AnsiString)

[n]

.SubString(position, lenght)

.LoadFromFile(<filename>)

vector<string>

vector.push_back(string)

(might be implemented)

vector.substr(=)

(might be implemented)

You should make your class, it is easy.

StringList Class for example: [2]

IntToStr(int)

StrToInt(AnsiString)

string:tostring()

string:string(“344”)

(a string check must be done)

template<typename
T>

string
toString(T t)

{

ostringstream
s;

s << t;

return
s.str();

}

Glosary:
ANSI: American National Standard Organization.
IDE: Integrated Development Environment.
ISO: International Standard Organization.
GUI: Graphical User Interface.
OOP: Object Oriented Programming.

Copyright (c)  2005 Gengis Kanhg Toledo Ramírez.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation.

Source: http://gengiskanhg.blogspot.com/2005_10_01_archive.html

FreeCAD, the best Free CAD package for engineers nowadays

FreeCAD is a general purpose 3D CAD modeler. The development is completely Open Source (GPL & LGPL License). FreeCAD is aimed directly at mechanical engineering and product design but also fits in a wider range of uses around engineering, such as architecture or other engineering specialties.

FreeCAD features tools similar to Catia, SolidWorks or Solid Edge, and therefore also falls into the category of MCAD, PLM, CAx and CAE. It will be a feature based parametric modeler with a modular software architecture which makes it easy to provide additional functionality without modifying the core system.

http://sourceforge.net/apps/mediawiki/free-cad/nfs/project/f/fr/free-cad/7/7e/TaskPanel.jpg

http://sourceforge.net/apps/mediawiki/free-cad/nfs/project/f/fr/free-cad/6/67/Screenshot-gcad.jpg

http://sourceforge.net/apps/mediawiki/free-cad/nfs/project/f/fr/free-cad/f/f4/Drawing_extraction.png

Freie Software Werkzeuge für die Modellprozessentwicklung

Slides Show: Vorstellung: Free software tools for the development of engineering prototypes. An example
Slides Show in German: Free software tools for the development of engineering prototypes. An example

U.S. Navy Open Architecture

http://www.semar.gob.mx/galeria/unidades_superficie/guerra/clase_manuel_a_gde.jpg

The Navy OA is a systems-design approach supported by verifiable governmental testing platforms, such as the OACE, that seeks to implement open specifications for interfaces, services and supporting formats. It enables software components to work across a range of systems and interoperate with other software components on local and remote systems.

The Navy OA promotes interaction between designers, suppliers and end users that facilitates portability. Through OA, common standards and products are employed in the areas of frameworks, middleware, resource management and operating systems, utilizing established and evolving industry standards.

OACE is a compatible set of largely standards-based COTS computing infrastructure components (hardware and software) that provides the computational framework upon which tactical and support applications are built under the guidelines of OA. The scope of OACE includes technical architecture, standards and products.

Key Open Architecture principles include:

  • Modular design and design disclosure
  • Reusable application software
  • Interoperable joint warfighting applications and secure information exchange
  • Life-cycle affordability
  • Encouraging competition and collaboration through development of alternative solutions and sources

The LynxOS® RTOS is the only POSIX®-conformant RTOS that is Linux ABI-compatible and it has been certified as Navy Open Architecture Computing Environment (OACE) Category 3 compliant.

An open-standards operating system such as the LynxOS RTOS must be used as the operating system in all new U.S. Navy systems, according to the Navy Open Architecture (OA)—to ensure future system interoperability and to support software reuse

Taken from: http://www.lynuxworks.com/solutions/milaero/navy-open-architecture.php

iFreeTablet, free software alternative to Apple’s tablet

(Spanish video)

Extracted from: http://www.ifreetablet.com/indexEN.php

Given the fierce competition in the market of the tablets where all the big companies in the sector: Apple, Google and Microsoft have an alternative in the market or in development, a Spanish company presents after Apple a cheapest option, based on free software.

On February 4 will be presented, the iFreeTablet, capping more than 20 years of research of EATCO Group at the University of Cordoba in the field of usability, ergonomics and adaptive devices as an alternative to the new Apple tablet.

iFreeTablet is one of the Orvita2 project star devices and one of the products resulting from the IPTVMunicipal Avanza project. Professor Carlos de Castro Lozano, director of the EATCO research group will make the presentation of this solution in the rectory of the University of Cordoba.

The iFreeTablet is intended as a bridge to break the digital divide between advanced users, Web 2.0 enthusiasts and those who have never used a personal computer. Advanced functionality is combined with a highly intuitive interface to achieve that goal.

The iFreeTablet, unlike the Apple tablet priced output estimated around 600 €, moves around 300-400 € and software features can evolve with the help of the free software comunity developers.

Tekkotsu, middle and high level robotics framework

http://www.tekkotsu.org/img/Tekkotsu_logo.pngTekkotsu is a software package for robotics aims to give you a structure on which to build, handling routine tasks so that you can focus on higher level programming.

Tekkotsu uses an object-oriented and event-passing architecture, making full use of the template and inheritance features of standard C++. It run on a variety of different robots.

We have developed this software as a means to handle tough research problems — performance and low overhead are important design considerations.

Some of the services Tekkotsu provides include

  • visual processing,
  • localization,
  • forward and inverse kinematics solvers,
  • remote monitoring and teleoperation tools, and
  • realtime motion control.

A large library of tutorials and demo behaviors are included to help you get started, with extensive reference documentation when you have specific questions.

Tekkotsu is an open source, free software project that builds on several third party libraries, such as

  • NEWMAT (matrix operations),
  • libjpeg,
  • libpng,
  • libxml2, and
  • zlib.

Tekkotsu uses the CMVision package by Jim Bruce for color segmentation and region grouping, as well as the Aibo walk engine from Manuela Veloso’s 2002 RoboSoccer entry, CMPack’02. These latter two packages are licensed under the GPL, however Tekkotsu itself and the other libraries are licensed under the more permissive LGPL.

WEB: http://www.tekkotsu.org/index.html

KaeilOS, GNU Real-time Operting system

KaeilOS is an embedded linux GNU/GPL distribution composed of a collection of the best publicly available Open Source packages.

Version 4.00 available from January 2009 has joined OpenEmbedded project offering a wider selection of packages and recipes.

http://www.koansoftware.com/kaeilos/images/DivinaProportione.jpg

http://www.kaeilos.com/sites/default/files/image/kaeilos/oe2009.png


Visit the KaeilOS product website

Linux made in Italy (E.U.)

Technical support is provided as well as a skilled consulting service from company headquarters located in Bergamo.

Starting from version 4.0 KaeilOS is based on OpenEmbedded building system and uses the latest kernel 2.6. It supports all x86 and ARM family processors including the newer OMAP.

KaeilOS embedded linux


Open-PC, PC built by the Linux community for them selves

The Open-PC is a PC for everyday use built by the Linux community for the Linux community. We use only free software. Your help will be welcomed, to make our project even better.

http://open-pc.com/img/open-pc/home1.jpg

The first PC built by the community for the community.

  • pure Linux
  • consumer ready
  • perfectly preconfigured
  • built by the community
  • 100% free software and drivers
  • energy efficient
  • easy to upgrade
  • phone and email support included
  • donation to the KDE project included in the price

Specifications:

  • Atom N330 1,6GHz Dual-Core Processor
  • 3GB RAM
  • 160GB Harddisc
  • ASRock Mainboard
  • Intel Graphics Media Accelerator 950
  • Mini ITX-Case
  • 250watt power supply
  • expandable hardware
  • size: 345mm x 100mm x 425mm
  • Installation support (telephone and email)
  • 10,- EUR of every PC is donated to the KDE project
  • Linux/KDE based operatingsystem installed and preconfigured

The Wiki for developers is here