AskSin++ Library

Begonnen von papa, 08 September 2016, 11:11:25

Vorheriges Thema - Nächstes Thema

efyzz

Moin,

ich versuche mal mit meinem gefährlichen Halbwissen etwas dazu zu sagen  ;D

Die AsksinPP Projekte basieren auf einem Atmega 328. Verstehe ich Dich richtig, dass Du ein original Homematic Gerät mit einem AsksinnPP Sketch flashen willst? Das wird wohl aus verschiedensten Gründen nicht kompatibel sein ...
RaspberryPi3B, Bookworm Lite
Homematic Funkmodul HM-MOD-RPI-PCB
------------------------------------------------------------------------
Ich bin kein Programmierer ... aber ich weiß, auf welcher Seite der Lötkolben heiß ist.

papa

Zitat von: Funsailor am 28 Februar 2024, 14:56:56Hi,
ich habe hier ein HM-PBI-4-FM mit defektem Funkmodul. Das Modul habe ich getauscht (Aus einem defekten Fenstersensor) und nun kann ich das Teil sehen.... dummerweise verschlüsselt.
Ich wollte nun den Sketch "HM-PBI-4-FM" vom Jérôme nehmen.... der ist leider zu groß...

ZitatDer Sketch verwendet 18684 Bytes (130%) des Programmspeicherplatzes. Das Maximum sind 14336 Bytes.

(Im Modul ist ein Atmega 168PA drin). Es gab irgendwo mal einen Beitrag wie man da vielleicht weiterkommt, ich finde den aber nicht mehr.

Besteht überhaupt eine Möglichkeit den Sketch so weit abzuspecken das man 4K Programmspeicher spart?
Schau mal in Jeromes Repository, da gibt es auch Geräte mit 168. Auf jeden Fall geht AES dort nicht.
Es gibt ein paar Defines, welche Einfluss auf die Codegröße haben. Infos findest Du hier https://github.com/pa-pa/AskSinPP?tab=readme-ov-file#defines-to-reduce-code-size


BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Funsailor

Zitat von: efyzz am 28 Februar 2024, 22:01:12Moin,

ich versuche mal mit meinem gefährlichen Halbwissen etwas dazu zu sagen  ;D

Die AsksinPP Projekte basieren auf einem Atmega 328. Verstehe ich Dich richtig, dass Du ein original Homematic Gerät mit einem AsksinnPP Sketch flashen willst? Das wird wohl aus verschiedensten Gründen nicht kompatibel sein ...

Nicht ganz richtig, siehe auch Papas Antwort
Wenn man da etwas hoch scrollt, findet man das:
C++ implementation of the AskSin protocol

    easy configuration of the device channels by using templates
    direct eeprom access for the channel data
    AES signature support
    Supported MCU:
        ATMega328
        ATMega32 (Standard Pinout)
        ATMega128 (Standard Pinout)
        ATMega644 (Bobuino Pinout is highly suggested)
        ATMega1284 (No OTA Bootloader support, yet)
        STM32F1
        ESP32 (not fully implemented)
        RP2040 (not fully implemented)
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

Funsailor

#1608
Hi Papa,
danke für den Tip, ich habe die entsprechenden Sketche in Jeromes Repository gefunden.
Wenn ich die folgenden Zeilen aus den entsprechenden Dateien nutze:

#define SENSOR_ONLY
#define NORTC
#define NOCRC
#define SIMPLE_CC1101_INIT
#define NDEBUG

#define EI_NOTEXTERNAL
#define EI_ATTINY24

//saves ~646 bytes program size:
extern "C" void *malloc(size_t size) {return 0;}
extern "C" void free(void* p) {}

passt der Sketch in den 168er....

Allerdings wird dann nicht mehr viel funktonieren, da mit dem Macro
EI_ATTINY24 einige wichtige Funktionen in der EnableInterrupt.h wegfallen   ::) 

Ohne das Macro wird der Sketch ein wenig zu groß ... : 15166 Bytes (105%)

Allerdings habe ich alle 168er Sketche in Jeromes Repository versucht zu compilieren, die werden alle zu groß  ???


- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

frank

#1609
https://homematic-forum.de/forum/viewtopic.php?f=76&t=67975&start=10#p798043

edit:
gerade noch gesehen.
die frage dort war ja sowieso von dir.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html