Geplaatst op Geef een reactie

Boombaard klaar voor download

De afgelopen jaren heb ik mijn eigen CMake generator “Boombaard” gebruikt om grotere hoeveelheden bestanden in een CMake bibliotheek of project te plaatsen. De tool is inmiddels doorgetest en zonder fouten goed bruikbaar. Ik bied hem daarom nu hier aan. Hij is tot 20 bestanden gratis te gebruiken, daar boven is een schappelijke licentie nodig om hem te gebruiken.

CMake is een fantastische project tool en is gratis te gebruiken! Het biedt een aantal grote voordelen voor de software ontwikkelaar:

  • CMake is platformonafhankelijk.
  • CMake kan worden gebruikt voor desktop of embedded software.
  • CMake maakt modulaire softwareontwikkeling mogelijk waarbij modules onafhankelijk worden gedefinieerd welke in verschillende projecten kunnen worden gebruikt.

Boombaard is een tool die het gebruik van CMake eenvoudiger maakt. Het is geen vervanging van CMake, en kennis van de CMake commando’s en taalstructuur is nog steeds noodzakelijk.

Bij de import van externe modules loopt de ontwikkelaar soms tegen het feit aan, dat het handmatig configureren van alle paden bij CMake een lastige zaak is. Het kost veel tijd om een CMakeLists.txt bestand zodanig te schrijven dat alle bronbestanden en include paden zonder fouten kunnen worden gebruikt.

Neem het volgende voorbeeld. Stel dat de ontwikkelaar bij STMicroelectronics de STM32L4 HAL driver wil toevoegen aan een CMake project. Na download van de driver van ST is een volgende mapstructuur te zien :

In totaal bevat de driver 238 bestanden. Hoe zijn deze bestanden nu op een eenvoudige manier toe te voegen als een CMake bibliotheek? CMake biedt de optie van een “wildcard” aan, maar dit is een mogelijkheid die afgeraden wordt! Het is verstandiger om alle bestanden handmatig ten noemen als basis voor het “add_library …” commando.

Boombaard maakt het eenvoudig. Boombaard kan een directory structuur importeren op basis van enkele gekozen bestanden, als gehele directory of als directory op recursieve manier – het neemt dan alles mee dat zich in de directory bevindt. Boombaard biedt daar bij de mogelijkheid om te filteren op type bestand alsmede een blokkade op te werpen voor bepaald soort bestanden.

Het gegenereerde CMakeLists.txt bestand ziet er dan als volgt uit :

## Boombaard gegenereerd CMakelists add_library bestand
## Bestand gegenereerd op : 2020-09-14 10:58:53.
## (c)2001-2018 Copyright Kiwanda Embedded Systemen

set(LibNaam STM32L4xx_HAL_Driver)

# Het absolute pad voor dit bestand “CMakeLists.txt” is “HALLibraries/STM32Cube/Repository/STM32Cube_FW_L4_V1.16.0/Drivers/STM32L4xx_HAL_Driver/“ 

## Definieer de minimale cmake versie.
cmake_minimum_required(VERSION 2.8.10)


## GemPath is een gemeenschappelijk pad dat gevonden wordt onder de bron, inclusief en bibliotheek paden.
set(GemPath0 ${CMAKE_CURRENT_SOURCE_DIR}/Inc)
set(GemPath1 ${GemPath0}/Legacy)
set(GemPath2 ${CMAKE_CURRENT_SOURCE_DIR}/Src)
set(GemPath3 ${GemPath2}/Legacy)



## SourcePath is een gemeenschappelijk pad voor de bronbestanden.
set(SourcePath0 ${GemPath3})
set(SourcePath1 ${GemPath2})
set(SourcePath2 ${GemPath1})
set(SourcePath3 ${GemPath0})



## Dit gedeelte geeft de include directories voor de bronbestanden aan.
set(AlleIncludeDirs ${SourcePath2} ${SourcePath3} )
include_directories(${AlleIncludeDirs})


## Geef een lijst van alle bronbestanden met de juiste paden.
set(SRCS0 stm32l4xx_hal_can.c )
set(Addition0Path ${SourcePath0})
foreach(FN ${SRCS0})
	list(APPEND SRCS ${Addition0Path}/${FN})
endforeach(FN)

set(SRCS1 stm32l4xx_hal_adc_ex.c stm32l4xx_hal_adc.c stm32l4xx_hal_can.c stm32l4xx_hal_comp.c stm32l4xx_hal_cortex.c 
	stm32l4xx_hal_crc_ex.c stm32l4xx_hal_crc.c stm32l4xx_hal_cryp_ex.c stm32l4xx_hal_cryp.c stm32l4xx_hal_dac_ex.c 
	stm32l4xx_hal_dac.c stm32l4xx_hal_dcmi.c stm32l4xx_hal_dfsdm_ex.c stm32l4xx_hal_dfsdm.c stm32l4xx_hal_dma_ex.c 
	stm32l4xx_hal_dma.c stm32l4xx_hal_dma2d.c stm32l4xx_hal_dsi.c stm32l4xx_hal_exti.c stm32l4xx_hal_firewall.c 
	stm32l4xx_hal_flash_ex.c stm32l4xx_hal_flash_ramfunc.c stm32l4xx_hal_flash.c stm32l4xx_hal_gfxmmu.c stm32l4xx_hal_gpio.c 
	stm32l4xx_hal_hash_ex.c stm32l4xx_hal_hash.c stm32l4xx_hal_hcd.c stm32l4xx_hal_i2c_ex.c stm32l4xx_hal_i2c.c 
	stm32l4xx_hal_irda.c stm32l4xx_hal_iwdg.c stm32l4xx_hal_lcd.c stm32l4xx_hal_lptim.c stm32l4xx_hal_ltdc_ex.c 
	stm32l4xx_hal_ltdc.c stm32l4xx_hal_mmc_ex.c stm32l4xx_hal_mmc.c stm32l4xx_hal_nand.c stm32l4xx_hal_nor.c 
	stm32l4xx_hal_opamp_ex.c stm32l4xx_hal_opamp.c stm32l4xx_hal_ospi.c stm32l4xx_hal_pcd_ex.c stm32l4xx_hal_pcd.c 
	stm32l4xx_hal_pka.c stm32l4xx_hal_pssi.c stm32l4xx_hal_pwr_ex.c stm32l4xx_hal_pwr.c stm32l4xx_hal_qspi.c 
	stm32l4xx_hal_rcc_ex.c stm32l4xx_hal_rcc.c stm32l4xx_hal_rng_ex.c stm32l4xx_hal_rng.c stm32l4xx_hal_rtc_ex.c 
	stm32l4xx_hal_rtc.c stm32l4xx_hal_sai_ex.c stm32l4xx_hal_sai.c stm32l4xx_hal_sd_ex.c stm32l4xx_hal_sd.c 
	stm32l4xx_hal_smartcard_ex.c stm32l4xx_hal_smartcard.c stm32l4xx_hal_smbus.c stm32l4xx_hal_spi_ex.c stm32l4xx_hal_spi.c 
	stm32l4xx_hal_sram.c stm32l4xx_hal_swpmi.c stm32l4xx_hal_tim_ex.c stm32l4xx_hal_tim.c stm32l4xx_hal_tsc.c 
	stm32l4xx_hal_uart_ex.c stm32l4xx_hal_uart.c stm32l4xx_hal_usart_ex.c stm32l4xx_hal_usart.c stm32l4xx_hal_wwdg.c 
	stm32l4xx_hal.c stm32l4xx_ll_adc.c stm32l4xx_ll_comp.c stm32l4xx_ll_crc.c stm32l4xx_ll_crs.c stm32l4xx_ll_dac.c 
	stm32l4xx_ll_dma.c stm32l4xx_ll_dma2d.c stm32l4xx_ll_exti.c stm32l4xx_ll_fmc.c stm32l4xx_ll_gpio.c stm32l4xx_ll_i2c.c 
	stm32l4xx_ll_lptim.c stm32l4xx_ll_lpuart.c stm32l4xx_ll_opamp.c stm32l4xx_ll_pka.c stm32l4xx_ll_pwr.c 
	stm32l4xx_ll_rcc.c stm32l4xx_ll_rng.c stm32l4xx_ll_rtc.c stm32l4xx_ll_sdmmc.c stm32l4xx_ll_spi.c stm32l4xx_ll_swpmi.c 
	stm32l4xx_ll_tim.c stm32l4xx_ll_usart.c stm32l4xx_ll_usb.c stm32l4xx_ll_utils.c )
set(Addition1Path ${SourcePath1})
foreach(FN ${SRCS1})
	list(APPEND SRCS ${Addition1Path}/${FN})
endforeach(FN)


list(SORT SRCS)

add_library(${LibNaam} STATIC ${SRCS})

Deze bibliotheek kan nu eenvoudig worden toegevoegd aan een CMake project:

Naast bibliotheek bestanden kan Boombaard ook andere CMake bestanden genereren:

  • Project bestanden om een desktop applicatie te genereren.
  • Include bestanden, te gebruiken met het CMake “include” commando.

Boombaard is te downloaden voor Mac OS X, MS Windows of Ubuntu Linux. De app is meertalig (Nederlands, Duits of Engles) en kan gevonden worden bij de downloads:

Geplaatst op Geef een reactie

Pallas 3.3.9 Klaar voor download

Pallas versie 3.3.9 is klaar voor download. Deze versie bevat:

  • Het toewijzen in bulk van onderdelen aan projekten is vereenvoudigd.
  • cel en rij selektie waren in de vorige release uitgeschakeld ==> nu weer goed gezet.
  • Update van een read-only DB wordt herkend en de gebruiker owrdt gevraagd om de DB schrijfbaar te maken.

Download voor Pallas zijn te vinden in de Downloads sektie. Hier zijn de laatste versie direkt :

Geplaatst op Geef een reactie

Pallas 3.3.8 Klaar voor download

Pallas versie 3.3.8 is klaar voor download. Deze versie bevat:

  • Het bewerken van de toewijzing van onderdelen aan projekten is vereenvoudigd. Vanuit het datagrid kan nu gemakkelijk de toewijzing worden geregeld, in plaats van de weg via de ingavevelden onderaan.
  • Layout van het grid is verbeterd.
Pallas met de projekttoewijzing nu in het grid geïntegreerd.

Download voor Pallas zijn te vinden in de Downloads sektie. Hier zijn de laatste versie direkt :

Geplaatst op Geef een reactie

Pallas 3.3.7 Klaar voor download

Pallas versie 3.3.7 is klaar voor download. Deze versie bevat:

  • Het kopieëren en plakken van gegevens in combinatie met het externe klipbord is sterk verbeterd. Individuele cellen in het veld kunnen nu gekopieerd worden, daarnaast kan met de “snelle item selektie” methode ook per item gekopieerd, geknipt en geplakt worden.
  • Sjalom! Hebreeuws is toegevoegd aan de ondersteunde talen.
  • Enkele kleine bugfixes.
פאלאס זמין כעת עם תמיכה בשפה העברית.
סטייק עם פרטים טעים גם בישראל.

Download voor Pallas zijn te vinden in de Downloads sektie. Hier zijn de laatste versie direkt :

Geplaatst op Geef een reactie

Pallas 3.3.6 Klaar voor download

Pallas versie 3.3.6 is klaar voor download. Deze versie bevat:

  • Zoek en vervang dialoog toegevoegd, om in een selektie teksten snel te kunnen vervangen.
  • Grote verbeteringen aan het “drag & drop” gedrag in Pallas. Items kunnen nu tussen (tekst)velden worden gesleept of gekopieerd.
  • Toevoegen van afbeeldingen en tekst van buiten naar gridvelden is nu veel beter toepasbaar.
  • Slepen van grid teksten en afbeeldingen naar externe applikaties is nu ook mogelijk.

Download voor Pallas zijn te vinden in de Downloads sektie. Hier zijn de laatste versie direkt :

Geplaatst op Geef een reactie

Pallas 3.3.5 Klaar voor download

Pallas versie 3.3.5 is klaar voor download. Deze versie bevat:

  • De FTP updater werkte met een schatting van de bestandsgrootte. Dit is nu verbeterd.
  • Bij projekttoewijzingen kan nu gezocht worden naar onderdelen.
  • Overbodige mededelingen tijdens versiebeheer “commit” en “update” zijn nu verwijderd.
  • Onderdelen kunnen worden bewogen naar andere verzamelingen, in plaats van via knippen en plakken.
  • Er kan gezocht worden naar teksten, en deze teksten kunnen worden vervangen.
  • Diverse kleinere bug-fixes.
Nieuwe eigenschap – zoek een item in de projekttoewijzingen

Download voor Pallas zijn te vinden in de Downloads sektie. Hier zijn de laatste versie direkt :

Geplaatst op Geef een reactie

Pallas 3.3.4 Klaar voor download

Pallas versie 3.3.4 is klaar voor download. Deze versie bevat:

  • Een groot aantal bugfixes.
  • Schaling van de applicatie gaat beter waar door het gebruik op een kleiner scherm minder problemen geeft.
  • Simpel zoeken resultaat kan in uitgebreid zoeken ingeladen worden.
  • Afbeeldingen die bij een item horen kunnen nu in de projektviewer gezien worden.
  • Edit van afbeeldingen vanuit het overzicht gemakkelijker.
  • De universele toepassing schakelaar is nu zichtbaar met een bruine kleur in de ingavevelden.
  • Statistiek werkt nu ook naar behoren in de simpele zoekmode.
Pallas op Mac OS X
Pallas 3.3.4 in het Nederlands op Apple Mac OS X

Download voor Pallas zijn te vinden in de Downloads sektie.

Geplaatst op Geef een reactie

Pallas 3.3.0 klaar voor download

Vandaag is Pallas 3.3.0 klaar. Deze versie heeft de volgende verbeteringen en uitbreidingen:

  • Pallas heeft nu een ingebouwde HTTP server waarmee de verzamelingen kunnen worden doorzocht via een web browser.
  • Pallas taalondersteuning in de Unix varianten is sterk verbeterd.
  • Pallas kan worden gestart zonder GUI om als daemon te draaien zodat HTTP verzoeken kunnen worden uitgevoerd.
  • Pallas is voor het eerst beschikbaar als installer voor gebruik op FreeBSD.
Start van de HTTP Server.
Pallas query via een web browser.
Pallas draaiend op FreeBSD in het Chinees.
Pallas in het Spaans, ook draaiend op FreeBSD.
Pallas in het Duits, met Web Browser voor het opzoeken van onderdelen.

Zoals gebruikelijk kunnen alle Pallas downloads worden gevonden in de download map.

Geplaatst op Geef een reactie

Pallas versie 3.2.4 is klaar

Een nieuwe versie van Pallas staat klaar !

Belangrijkste veranderingen t.o.v de vorige versie:

  • Een database kan worden geopend in alleen-lezen mode. De database blijft daardoor bevroren en geen enkele wijziging kan worden ingevoerd. Omschakeling tussen alleen-lezen en lezen+schrijven kan heel snel en simpel worde gedaan door een nieuwe menukeuze.
  • Initialisatie van de database wordt nu subtieler uitgevoerd, waardoor vele kleine veranderingen aan de DB niet meer nodig zijn. Het bestand blijft daardoor stabieler en dat is fijn als het bestand in versiebeheer wordt bewaard.
  • Versie beheer interface geeft betere melding van de akties die worden uitgevoerd.
  • diverse kleine bug fixes en snelheidsverbeteringen.

 

Pallas kan worden gedownload van deze lokatie.

Geplaatst op Geef een reactie

Pallas 3.2.2 gelanceerd

Een nieuwe versie van Pallas staat klaar !

Belangrijkste veranderingen t.o.v de vorige versie:

  • “Exact mode” aangebracht – een item kan nu zelfs in “exact mode” worden gezocht, zodat alle tekens in de kenmerken overeen moeten komen voordat er een hit is.
  • Toolbar voor uitgebreid zoeken naar uitgebreid zoeken veld verplaatst.
  • diverse kleine bug fixes en snelheidsverbeteringen.

 

Pallas kan worden gedownload van deze lokatie.