#16 closed feature (fixed)
Implement the 42 library
| Reported by: | Henrik Heimbuerger | Owned by: | Florian Roth |
|---|---|---|---|
| Priority: | major | Milestone: | MS1: First release (1.0.0) |
| Component: | hal | Version: | pre-1.0 |
| Keywords: | lib42, hal | Cc: |
Description
Integrate the 42 library.
Early advancements on this can be found on ticket #4.
Change History (27)
comment:1 Changed 18 years ago by
| Status: | new → assigned |
|---|
comment:2 Changed 18 years ago by
| Summary: | Integrate the 42 library. → Integrate the 42 library |
|---|
comment:3 Changed 18 years ago by
comment:4 Changed 18 years ago by
New commit by froth (revision [90]):
[Related to ticket#16] removed CarController?.java this is functionality is given in CarreraControler?.java
comment:5 Changed 18 years ago by
New commit by froth (revision [91]):
[Related to ticket#16] removed PacecarController?.java this is functionality is given in an other controler or isnt used by jacavi
comment:6 follow-up: 16 Changed 18 years ago by
The design / implementation / (integration) of lib42 for accessing the real Hardware consists of the following elements:
c projects (given librarys)
Clib42
This shared library supports to control the digital carrera course (hardware) over the 42 Blackbox. To control the hardware it's accessing /dev/ttyS1 serial device. -> minicom must be started on /dev/ttyS1 to activate the serial interface. Jacavi is using this library by native calls.
CsdLib?
This library is also part of Clib42. It supports the sensor detection on the digital carrera course over the 42 Blackbox. In feasibility study of the 42 protocol group it was more efficient to integrate both, drive control and sensor detection, in one library. Now the design of jacavi uses a more modular concept so we decided to have an extra shared library to achieve the jacavi sensordetection interface. It uses /dev/ttyS0 serial interface witch has to be started before use with minicom.
package de.jacavi.hal
CarreraControler?
Defines the almost the minimum of functionality used by jacavi to control an carrera hardware implementation.
CarreraLibraryType?
Enumeration of several technologies to access carrera hardware.
CarreraNativeLibraryFactory?
Factory to get an CarreraControler? of an particular CarreraLibraryType?
FirstCarreraNativeLibraryFactory?
(I know its a silly name) An implementation of the CarreraNativeLibraryFactory?
package de.jacavi.hal.lib42
NativeLib42
This class offers to access the complete functionality of the Clib42. It loads the c library and redirects all calls to it. Its the interface to access Clib42 functionality.
Clib42CarreraControler
An Controler interface with Base de.jacavi.hal.CarreraControler??. Its more specific to lib42 and its functionality
NativeLib42Adapter
Ilustrates an adapter between native library and java on java side. It was intended to fix compatibility problems or and adapt the functionality for given interfaces. It is an implementation of the Clib42CarreraControler.
NativeCsdLib?
This class offers to get information about sensors activated by a passing car. This is implemented by a callback function. An object of the class loads the CsdLib?? for accesing its functionality.
Usage
->Get an CarreraNativeLibraryFactory? object.
->Select an CarreraLibraryType? and get an CarreraControler? object
comment:7 Changed 18 years ago by
| Status: | assigned → accepted |
|---|
comment:8 Changed 18 years ago by
New commit by froth (revision [118]):
[Related to ticket #16] added a nativeLibraryFactoryBean in the applicationContext.xml
Use this bean to give the player an TechnologyController? by calling the factory with an CarreraNativeLibraryType?
comment:9 Changed 18 years ago by
New commit by froth (revision [119]):
[Related to ticket #16] changed FirstCarreraNativeLibraryFactor? to support Spring Beans added lib42TachnologyBean
comment:10 Changed 18 years ago by
New commit by froth (revision [121]):
[Related to ticket #16] changed FirstCarreraNativeLibraryFactory? implementation
comment:11 Changed 18 years ago by
comment:12 Changed 18 years ago by
comment:13 Changed 18 years ago by
comment:14 Changed 18 years ago by
comment:15 Changed 18 years ago by
New commit by froth (revision [178]):
[Related to ticket #16] added an SpeedNormalizer? to adjust the speed
You can know normalized speed of the several devices (0-100) to the specific hardware speed and back
comment:16 Changed 18 years ago by
Replying to froth:
The design / implementation / (integration) of lib42 for accessing the real Hardware consists of the following elements:
[...]
Created a wiki page from the description: CodeDesignFortyTwoIntegration
comment:17 Changed 18 years ago by
| Component: | unspecified → hal |
|---|---|
| Type: | enhancement → feature |
comment:18 Changed 18 years ago by
| Summary: | Integrate the 42 library → Implement the 42 library |
|---|
comment:19 Changed 18 years ago by
comment:20 Changed 18 years ago by
New commit by froth (revision [210]):
[Related to ticket #16] added support for the feedback channel of lib42
Currently I cannot find an consistent interface for feedback channel of all the several hal technologies. So I added an marker interface called SlotCarFeedbackConnector?.
Lib42FeedbackConnector is the specialized interface for lib42 technologie and is implemented by Lib42FeedbackConnectorAdapter where you can find the callback function to be used by the TDA
comment:21 Changed 18 years ago by
| Keywords: | lib42 hal added; 42 removed |
|---|---|
| Resolution: | → fixed |
| Status: | accepted → closed |
comment:22 Changed 18 years ago by
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
comment:23 Changed 18 years ago by
comment:24 Changed 18 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |

New commit by froth (revision [89]):
[Related to ticket#16] removed NativeCsdLib42.java this is functionality is given in NativeCsdLib?.java