// Historique modifs de programme CHAUDIERE // Periode 20 Sptembre 2024 ------07 avril 2023 // pas de bug sur "Repas" (voir mail H.T.du 29/09)) //#define VERSION "240918" // modif MENU SW4 Destination ligne 467 // bug version program was Programme version : 094!! //#define VERSION "240917" // correctif bugs dans Menu 4 //#define VERSION "240916" // modif alarme et hors gel //#define VERSION "240914" // correctif ligne 2911 choix hors gel en eeprom 70 //#define VERSION "240909" // corrigé erreur menu6,utilisait Org_Sauve_Progr_Travail au lieu de Org_Sauve_Param_Travail //#define VERSION "240908" // imprime restitution eeprom //#define VERSION "240905" // se referer au Schéma V14.0.0_2023-0728.pdf // remplacement du PIC18F27K42 pour PB entree RC5 cramée // Alarmes RC1 et RC2 sont referencées au VSS et non pas au VDD // rajout #define Paul_Board //#define VERSION "240904" // big probleme hardware SW6 ne reponds plus suite // erreur de branchement alim +9V sur borne #6 au lieu de #4 // port B HS ?? I2C OK UART OK // modif clignotement leds // #define VERSION "240903" // rev H.T // modif Dialogue_Operateur_PC_via_UART_2024-0904.inc" // Scema_Chaudiere_V21.1.4.sch (kicad) du 01 09 2024 // test Timer2 100ms , Timer4 500ms et clignotement leds PortA 3 à 6 via cde YAT // un peu de menage dans le main.c // #define VERSION "240824" // modif MENU1 Affichage repos LCD Cligotant Led // #define VERSION "240818" // modif Dialogue_Operateur_PC_via_UART_2024-0812.inc" // #define VERSION "240814" // modif Affiche_LCD_Repos... // inclusion Menu1 version HT // #define VERSION "240812" // rajout clignote 1Hz RA6 RA5 // #define VERSION "240811" // new Menu direct SW1 // #define VERSION "240810" // #define TEST_ZONE_1 ..ok // MENU DIRECTS SW1 // #define VERSION "240809" // suite correctif H.T. sur menu SW4 // #define VERSION "240805" // rajout restitue parametres from Eeprom // #define VERSION "240803" // activation sauvegarde en eeprom de l'Affectation_Hebdomadaire // MAIS Problemo avec init en dur dans le code de la table Affectation_Hebdo // voir problematique https://www.fantaspic.fr/viewtopic.php?style=4&f=10&t=1308&start=10 // pre_chargement Eeprom PIC 18F27K42 // #define VERSION "2024-0802" // reduction choix modif programme de 2 à 9 au lieu de 0 à 11 // correctif bug indice Programme dans SW4 // bug calcul destination eeprom // rajout TMR6 xx fois 500mS et interrupt // modif Menu 10.2 // #define VERSION "2024-0731" // mis usage STM1 en Option , pas besoin de calucler en µS, mS est suffisant // modif Affiche_LCD_Repos_2024-0730.inc // modif Dialogue_Operateur_PC_via_UART_2024-08.inc" // #define VERSION "2024-0729" // correctif bug void MAJ_RTC(void) jS>7 ->jS>6 // #define VERSION "2024-0728" // petite modif concernant les 3 sondes DS18B20 // double lecture des 3 capteurs .. // because 85.00 à la remise sous tension // #define VERSION "2024-0725" // rajout dossier C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-K_DFP/1.6.125 // au lieu de C:\Users\Paul\.mchp_packs\Microchip\PIC18F-K_DFP\1.6.125 // #define VERSION "2024-0714" // remise en service Progr_En_Cours=Affectation_Hebdo[jS]; // #define VERSION "2024-0524" // rajout info Demi_Heure_En_Cours // #define VERSION "2024-0521" // revu traitement menu direct 7 // #define VERSION "2024-0516" // XC8 linker memory model : modifie ,passé de 17FFF à 0-1FFFF // Program space used 1308Dh ( 77965) of 20000h bytes ( 59.5%) // recomplation --> // optimisation niveau 2 -> // Program space used 1308Dh ( 77965) of 18000h bytes ( 79.3%) // debugging SW4 Menu // #define VERSION "2024-0509" // avec optimisation niveau 0 // Program space used 15DADh ( 89517) of 18000h bytes ( 91.1%) // SW4 eeprom storage // #define VERSION "2024-0507" // SW4 1ere partie // #define VERSION "2024-0504" // #define VERSION "2024-029" // Menu SW4 ...1ere partie // #define VERSION "2024-0417" // Menu 10.X ..ok // #define VERSION "2024-0416" //tests et correctifs Menu10.3 10.4 // #define VERSION "2024-0415" // Menu10.4..OK // #define VERSION "2024-0414" // conditions pour clignote menu // bug trouvé ..SPas en local dans menu10.3 !!! // #define VERSION "2024-0413" // BLOCAGE programme sur Test presence devices sur Bus I2C1 ???? // because ereur Rafraichit_Ligne_Menu_LCD(char Degr) // #define VERSION "2024-0412" // menus 10.3 et 10.4 bug !!! // #define VERSION "2024-0411" // modif const char Libelles_Menus_10[7] [13] = // {" "}, //efface placé en fin de table 12 // #define VERSION "2024-0411" // correctuion bug Menu10.2 .. et MENU10.1 ! // #define VERSION "2024-0410" //voir MENU10_1234_2024-0410.inc Menu10.1 // #define VERSION "2024-0407" // Chaudiere_New_Menu_CONSIGNES_10.1_2024-0407.drawio // modif Min_INT_cor -20 -> =0 et MAX_Int_cor=+2.0 // #define VERSION "2024-0405" // usage de variables Fm1.2.3. particulieres aux Menu10.x au lieu de F1 .2.3 communes // #define VERSION "2024-0404" // new menu 10.2 // #define VERSION "2024-0402" // new menu voir Menu 10.x_SW0_2024-0401.xls // #define VERSION "2024-0331" // rev Menu 10.1 et 10.3 // #define VERSION "2024-0330" // correctif menu 10.3 avec float SPas3 inutile car pas deja defini et fixe=5.0°C // Menu 10.7 sauveg eeprom // menu 8 alarmes // #define VERSION "2024-0327" // rajout Menu 10.7 indice NGR // test progr Eau_cbl H.T. // #define VERSION "2024-0326" // Menu 4 decomposé en 2 parties // affectation programme du jour // modif programme // #define VERSION "2024-0324" // #define TEST2 // rajout affichage plages programmation // #define VERSION "2024-0321" // Test Zone 2 pour definition des plages // #define VERSION "2024-0309" // rajout Menu MENU10_6_Hysteresis(void) // #define VERSION "2024-0119" // schema V14.0.0 // RC7 Alarm1 =1 pour normal // CPrint(" Re-affectation RC5 (SW6 input) en Sortie pour Alarme L5 \r\n"); // TRISCbits.TRISC5=0; // RC5 en sortie // ODCONCbits.ODCC5=1; // modif RC5 seulement, sans toucher RC4 et RC3 I2C // LATCbits.LATC5=1 ; // pas d'alarme // #define INIT_AUTO_RTC <-- eliminé 23/10/2023 // #define VERSION "2024-0119" //#define VERSION "2023-1213" // menus directs 4,5,6,7 // modif #include "Affiche_LCD_Repos_2023-1213.inc" //#define VERSION "2023-1212" // menu 2 //#define VERSION "2023-1209" // Menus SW0 dans fichiers *.inc avec Sortie_Menu10() commune // #define VERSION "2023-1206" // remise en ordre des menus SW0 //#define VERSION "2023-1205" // correctif sur MenuCONSIGNES .. on ne sortait plus sur appui SW0 //#define VERSION "2023-1203" // revu l'ordre des mensu SW0 suivant doc: Dossier Chauffage (V5.0.1).xls //#define VERSION "2023-1202" // voir MAJ_RTC_Manuelle_2023-1202.inc Roll-over sur incr/decr // bad au 1er test car variable pointeur px declaré en locale dans MAJ_RTC_Manuelle(), non vue dans Ajsute_cx // enlevé declaration locale pour ne conserver que la vaibale px Globale // correction bug sur #define //poids des switches // correction bug sur //#define VERSION "2023-1201" // MAJ RTC test avec roll over sur deplacement X // quid roll over sur incr/decr ? // Terminaison_Menu_Direct() remplace Terminaison_Menu0() //#define VERSION "2023-1130" // modif MAJ_RTC_Manuelle : bouclage depalcement X entre sortie et entree ou entree et sortie //#define VERSION "2023-1106" // gestion des menu //#define VERSION "2023-1102" // gestion des menus... //#define VERSION "2023-1030" // modif LCD_4bits_I2C_2023-1026.c // usage de table au lieu de string pour caracteres speciaux // voir Affiche_LCD_Repos_2023-1026.inc //#define VERSION "2023-1025" // correction bug dormant dans Affiche_LCD_Repos // utiliser CRam1 comme table et NON comme String //#define VERSION "2023-1024" // modif RTC ..h // #define VERSION "2023-1023" // à voir interference ligne 3 LCD au repos apres MAJ Manuelle RTC // #define VERSION "2023-1022" //erreur affectation led confort et led eco (croisée) // modif #include "Affiche_LCD_Repos_2023-1022.inc" cx_val // retour en arriere pour la gestion MAJ RTC (manuelle ou URAT ONLY !!!) //enlevé Auto Date Time RTC ,jour julien et changement horaire // #define VERSION "2023-1016" // rajout compilation conditionelle INIT_AUTO_RTC -> fichier include // rajout jour julien // #define VERSION "2023-1014" // rajout init Auto Date Time du PC -> RTC // rev void I2C_PCF8574_Write(unsigned char Adrp,unsigned char value) tmpx au lieu de tmp global #define VERSION "2023-0931" // revu changement d'horaire : necessite bien un flag anti-remonte dans le temps! //#define VERSION "2023-0921" // probleme avec LCD => rajout delay 100mS pour LCD_cmd(CLEAR) // integration void Equalisation_3_DS18B20(void); //#define VERSION "2023-0921" // rajout traitement passage heure ETE/HIVER //#define Autorise_Forcage_RTC //#define VERSION "2023-0918" // modif MAJ RTC , usage de >>4 et masque & 0x0F au lieu de test /10 ou %10 //#define VERSION "2023-0917" // 2 macro pour START_SMT1 et STOP_SMT1 // #include "Affiche_LCD_Repos_2023-0912.inc" // MAJ RTC supprimé la sortie preventive SW5 , remplacé Valid SW4 par SW5 //#define VERSION "2023-0916" //avec #include "Affiche_LCD_Repos_2023-0908.inc" // MAJ RTC ok //#define VERSION "2023-0915" // menus SW0 // revision bug LCD function! //#define VERSION "2023-0911" // menus SW0 // rajout Old_SPas pour ancienne position curseur à effacer //#define VERSION "2023-0908" //Menus ... //#define VERSION "2023-0906" // rev Menu1 et IntRB0 //#define VERSION "2023-0905" // menu SW1 //#define VERSION "2023-0904" // modif .. 1ere Init RTC incluse avec egalisation sondes // rajout variable Valeur_Progr //#define VERSION "2023-0903" // rajout Table_Pgr_Horaire_Utilisée //#define VERSION "2023-0829" // modif MENUS SW0 sous menu 1 // modif definition SW0 ..SW5 //#define VERSION "2023-0828" // retour sur affichage repos de Juillet // reduction Nb de tables progr.horaire 12->10 + rajout NOM de progr sur 7cars //#define VERSION "2023-0825" // affiohage repos LCD d'aout //#define VERSION "2023-0821" // rajout affichage de tous les caracteres du LCD //#define Affiche_tous_les_chars_LCD //#define VERSION "2023-0819" // rajout sortie Alarm1 RB7 // modif detection appui BP dans interrupt INT0 //#define VERSION "2023-0818" // modif Affiche_LCD_Repos //#define VERSION "2023-0808" // rajout LCD_chars_Speciaux_2024-08.h //#define VERSION "2023-0729" // Avec Hardware : CARTE CHAUDIERE (H.T.) //#define VERSION "2023-0721" // avec HARDWARE : Prototype Breadboard // affichage table V forcé pour tests #define Test_Tables // rajout Timer2 pour mesure duree de boucle ( à voir plus tard si vraiment utile) // pour gerer les transistions de franchissement demi-heure et programmation de consigne associée // petite modif sasie Switch .. SANS l'usage de IOCBF .. problematique avec cablage breadboard // gardé INT0 , mais usage pooling portB au lieu de IOCBF // //#define VERSION "2023-0714" // New problemo : SW2 donne 0x04 ...OK ou 0x0C => BAD ??? // le Test avec _18F27K42_LCD_PCF8574_DS18B20_Test_6_BP_en_pooling_2023.X.hex est pourtant OK (en pooling) ! // modif gestion des fleches H et B //#define VERSION "2023-0713" // menuS DIERCT W2,SW3 > 1sec fleches H et BAS new CSG_Forc //#define VERSION "2023-0710" // Test Menus DIRECTS via SW1 // #define VERSION "2023-0709" // rajout cde BAV // teste void Affiche_MENU_CONSIGNE_INT() via SW0 menus //#define VERSION "2023-0708" // ajout Delay_de_Boucle = 2 sec dans Dialogue_Operateur_PC_via_UART.inc // tests SW0 Affiche_MENU_CONSIGNE //#define VERSION "2023-0707" //#define Test_chars_inverse_video //#define Test_char_NRG__inverse_video // mis config PIC -> fichier Config.c au lieu de config.h (recommandation Microchip Forum) //modif 2 cars speciaux: fleches H B en inverse video // ajout > devant matin ou apres midi ligne 3 ou 4 LCD position 8 //#define VERSION "2023-0705" //#define VERSION "2023-0704" // sous menu CHAUDIERE //#define VERSION "2023-0702" //modif Affiche_LCD_Repos() rajout lettre Choix NGR_cor // modif custom Char LCD pour test G en video inverse //#define VERSION "2023-0630" #define With_SMT1 // only TMR0 10 sec ..attente resolution PB Timer0 500mS //#define VERSION "2023-0626" //#define With_TMR0_500mS // test Tmr0 10sec pooling ..et TMR0 500mS interrupt //#define VERSION "2023-0623" //#define Test_TMR0 //#define Test_TMR4 //#define VERSION "2023-0622" // gestion Menu et SMenu // attention Autres versions intermediares entre le 17 et le 21/06 //#define VERSION "2023-0617" //#define Test_TMR4 // timer4 sur 10sec //#define VERSION "2023-0616" // affection Nom mesures temperature au lieu de F1,F2,F3 //#define VERSION "2023-0615" //#define Test_Tables // menu SW0 //#define VERSION "2023-0614" // rajout Rafraichit_LCD_Table_en_cours(char Table) // pour test via liaison UART et PRG=xx XX de 00 à 09 //#define VERSION "2023-0613" // test affichage des tables ..OK // rajout clignot heure en cours dans la table programme // projet customize pickit5 preserve eeprom //#define VERSION "2023-0607" // bruleur ON L1C15 clignote entre . et * , sinon bruleur OFF= . fixe //#define VERSION "2023-0607" // modif cars speciaux // modif Cprint pour usage de unsigned char //#define VERSION "2023-0524" // changement de directory // was :C:\_MPLABX_Projects\_18F27K42_LCD_PCF8574_DS18B20_2023.X // is : Chaudiere_Controle_18F27K42_2023.X //#define VERSION "2023-0515" // remaniement des variables parametres et sauvegarde Parametres ou/et table progrs horair. //#define VERSION "2023-0513" // sauve data usine -> eeprom si SW6 appuyé > 6 sec //#define VERSION "2023-0511" // rajout doublon tables horaires // init EEPROM avec unsigned char Tables_Programmations_Horaires_En_Cours[10][32]={... // test lecture 10 Programmes horaires de Eeprom -> rAM //#define VERSION "2023-0510" //#define Test_sauve_restitue_Eeeprom // abandon 24LC256, car moins d eplace à reserver pour les programmes horaire // modif Eeprom_Pic_2023.h et .C // rajout info sur LCD sur procedure Egalisation // rajout test SW4>2sec apres rest pour activer le mode bavard // donc usage de Eeeprom PIC //#define VERSION "2023-0507" // remplissage eeprom 24LC256 //#define VERSION "2023-0506" // on passe maintenant en Eeprom I2C 24LC256 32K au lieu de FLASH PIC // rajout demande d'egalisation via BP Reset ET appui sur BP caché SW6 >2sec //#define VERSION "2023-0502" // test ecriture lecture en zone flash 0x18000 //#define VERSION "2023-0501" //#define Test_DegreC // rajout defilement > sur LCD sir Bruleur ON // deplacé caractere special ° degre C de la position 0 à la position 7 // test Etats_BP au lieu de Etats_ICBO dans le main //#define VERSION "2023-0430" //#define With_Tests_SMT1 // test duree appui BP //#define VERSION "2023-0429" // test int0 //#define VERSION "2023-0427" //#define With_Equalisation_3_DS18B20 // auto-etalonnage (Equalisation) 3 capteurs //#define VERSION "2023-0426" //#define With_TEST_6_BP //#define VERSION "2023-0424" //#define Tests_Timers_246 // rajout menu etalonnage //#define VERSION "2023-0419" // Menus SW1 direct , SW2 ou SW3 direct //#define VERSION "2023-0417" //rajout_RTC_DS3231 //#define VERSION "2023-0416" // corrigé harmonisation Resolution capteur // test lecture DS18B20 façon Analog device! //#define VERSION "2023-0415" // rajout interrupt RB0 pour les 6 B.P port B //#define VERSION "2023-0414" // test changement de resolution 11 bits ..OK //#define VERSION "2023-0413" // quid delay apres requete 0x44 ? // ecran LCD 4x20 //#ifdef Version_1bus_3xDS18B20 // 1 bus par sonde // #define VERSION "2023-0411" // 1 seul Bus OWS pour les 3 sondes // ecran LCD2x16 //#define Pass_Over // evite de re-initialiser l'eeprom pour configurer // avec ID# de chaque sonde stockés en Eeprom // rajout reconnaissance des 3 ID# sondes //#define VERSION "2023-0407" //#endif