Browse Source

change soft

rcluze 9 years ago
parent
commit
36a01744b3
100 changed files with 10989 additions and 5129 deletions
  1. 324 534
      soft/.metadata/.log
  2. BIN
      soft/.metadata/.mylyn/repositories.xml.zip
  3. 0 5
      soft/.metadata/.plugins/org.eclipse.cdt.core/.log
  4. BIN
      soft/.metadata/.plugins/org.eclipse.cdt.core/Controle.1494414894169.pdom
  5. 10 10
      soft/.metadata/.plugins/org.eclipse.cdt.core/Controle.language.settings.xml
  6. BIN
      soft/.metadata/.plugins/org.eclipse.cdt.core/controle.1460464335924.pdom
  7. BIN
      soft/.metadata/.plugins/org.eclipse.cdt.core/controle.1485853357561.pdom
  8. 203 0
      soft/.metadata/.plugins/org.eclipse.cdt.ui/Controle.build.log
  9. 0 269
      soft/.metadata/.plugins/org.eclipse.cdt.ui/controle.build.log
  10. 0 18
      soft/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml
  11. 147 213
      soft/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log
  12. 288 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/1/b04b7d087e3500171025a17b13aa5e23
  13. 0 126
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/11/505ce0ccc200001615c49fd51d2574c3
  14. 283 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/12/100926cf7d3500171025a17b13aa5e23
  15. 215 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/17/605909ae7a3500171025a17b13aa5e23
  16. 87 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/19/00862491823500171025a17b13aa5e23
  17. 0 133
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/1a/c0fc4a74b900001615c49fd51d2574c3
  18. 285 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/2/40b9acf97d3500171025a17b13aa5e23
  19. 264 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/2/80a4c4bd7b3500171025a17b13aa5e23
  20. 229 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/22/c041518e823500171025a17b13aa5e23
  21. 153 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/29/80e30a91823500171025a17b13aa5e23
  22. 0 129
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/2b/7076b933b200001615c49fd51d2574c3
  23. 0 23
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/2e/109e98f9b800001615c49fd51d2574c3
  24. 162 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/2e/700191d4783500171025a17b13aa5e23
  25. 0 27
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/2f/d0254acfc100001615c49fd51d2574c3
  26. 0 26
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/33/204a34a3c100001615c49fd51d2574c3
  27. 0 202
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/37/10ae576a16ea0016117fdde678b72230
  28. 275 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/39/d06788d67c3500171025a17b13aa5e23
  29. 282 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/3b/10a5ea98803500171025a17b13aa5e23
  30. 225 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/3d/70c949837b3500171025a17b13aa5e23
  31. 290 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/3f/e0e190387e3500171025a17b13aa5e23
  32. 251 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/41/d0a622a2823500171025a17b13aa5e23
  33. 0 26
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/4a/e0df5fc3c000001615c49fd51d2574c3
  34. 0 128
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/4b/c077c035b700001615c49fd51d2574c3
  35. 87 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/4b/d0f0bebb783500171025a17b13aa5e23
  36. 0 17
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/4c/f07bd728b500001615c49fd51d2574c3
  37. 0 121
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/4d/f036574fc200001615c49fd51d2574c3
  38. 276 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/4f/f02b6ef37c3500171025a17b13aa5e23
  39. 251 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/5/505edca6823500171025a17b13aa5e23
  40. 153 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/53/d086a6bb783500171025a17b13aa5e23
  41. 233 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/55/804f1363823500171025a17b13aa5e23
  42. 0 218
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/5a/f0da4dc616ea0016117fdde678b72230
  43. 288 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/5b/90ff1b267e3500171025a17b13aa5e23
  44. 0 210
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/5c/307e3d5d16ea0016117fdde678b72230
  45. 33 14
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/5f/30192091823500171025a17b13aa5e23
  46. 0 28
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/5f/809fe856c200001615c49fd51d2574c3
  47. 251 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/6/20ca06b9823500171025a17b13aa5e23
  48. 0 133
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/62/6002844fb900001615c49fd51d2574c3
  49. 178 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/64/7075099c793500171025a17b13aa5e23
  50. 0 15
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/65/709d5a90bf00001615c49fd51d2574c3
  51. 0 6
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/66/40a9cb96bc00001615c49fd51d2574c3
  52. 0 13
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/66/805a986abc00001615c49fd51d2574c3
  53. 218 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/69/10a256f47a3500171025a17b13aa5e23
  54. 0 19
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/69/e05c234217ea0016117fdde678b72230
  55. 268 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/69/e0f8d38f7c3500171025a17b13aa5e23
  56. 0 21
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/6f/a053e3a5b800001615c49fd51d2574c3
  57. 0 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/70/e0abb5c4c000001615c49fd51d2574c3
  58. 0 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/72/809d2dfa873500171025a17b13aa5e23
  59. 290 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/72/b04a8e5c7e3500171025a17b13aa5e23
  60. 0 23
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/73/80bc65e9b800001615c49fd51d2574c3
  61. 64 43
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/75/0031b3bb783500171025a17b13aa5e23
  62. 290 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/75/10b2cb46803500171025a17b13aa5e23
  63. 275 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/77/f08b94ea7c3500171025a17b13aa5e23
  64. 253 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/7a/40f40291823500171025a17b13aa5e23
  65. 0 218
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/7c/404391ac16ea0016117fdde678b72230
  66. 163 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/8/00c09848773500171025a17b13aa5e23
  67. 170 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/80/90ef1b7c793500171025a17b13aa5e23
  68. 0 147
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/81/6054f3c1bc00001615c49fd51d2574c3
  69. 282 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/81/b0921a8b803500171025a17b13aa5e23
  70. 0 17
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/81/e0aabdbe16ea0016117fdde678b72230
  71. 250 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/83/8097cf95823500171025a17b13aa5e23
  72. 0 138
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/84/40745aa4b900001615c49fd51d2574c3
  73. 0 128
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/84/c066e106b300001615c49fd51d2574c3
  74. 123 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/84/d0f91291823500171025a17b13aa5e23
  75. 0 217
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/8a/6062183b17ea0016117fdde678b72230
  76. 0 149
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/8b/001ccedebc00001615c49fd51d2574c3
  77. 0 122
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/9/40435d1fc200001615c49fd51d2574c3
  78. 0 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/91/20cdc925bd00001615c49fd51d2574c3
  79. 282 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/91/80ffb6c5803500171025a17b13aa5e23
  80. 0 202
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/94/40b2b971b300001615c49fd51d2574c3
  81. 277 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/94/806829117d3500171025a17b13aa5e23
  82. 0 7
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/97/a0e33588c100001615c49fd51d2574c3
  83. 284 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/97/d045bbe8813500171025a17b13aa5e23
  84. 215 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/99/307c99f9793500171025a17b13aa5e23
  85. 71 52
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/9f/00c21a91823500171025a17b13aa5e23
  86. 282 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/a2/e0674182803500171025a17b13aa5e23
  87. 0 140
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/a3/c051fc92bc00001615c49fd51d2574c3
  88. 283 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/a4/1072b7e87d3500171025a17b13aa5e23
  89. 0 135
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/a4/2011ee67b300001615c49fd51d2574c3
  90. 168 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/a4/d0339fbb783500171025a17b13aa5e23
  91. 0 180
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/a5/809db67817ea0016117fdde678b72230
  92. 0 216
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/a8/80f332de16ea0016117fdde678b72230
  93. 0 6
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/ab/303a8eff16ea0016117fdde678b72230
  94. 0 122
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/ab/90b30a02c200001615c49fd51d2574c3
  95. 0 6
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/ac/30d3e071bc00001615c49fd51d2574c3
  96. 262 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/ac/c04d099a7b3500171025a17b13aa5e23
  97. 0 18
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/ad/40b2d20ac000001615c49fd51d2574c3
  98. 215 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/ae/101617337b3500171025a17b13aa5e23
  99. 0 159
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/ae/30d6b623be00001615c49fd51d2574c3
  100. 281 0
      soft/.metadata/.plugins/org.eclipse.core.resources/.history/af/40a947b07d3500171025a17b13aa5e23

+ 324 - 534
soft/.metadata/.log

@@ -1,549 +1,339 @@
-!SESSION 2016-04-07 11:09:28.671 -----------------------------------------------
-eclipse.buildId=4.4.2.M20150204-1700
-java.version=1.8.0_51
+!SESSION 2017-05-10 13:14:14.711 -----------------------------------------------
+eclipse.buildId=4.5.2.M20160212-1500
+java.version=1.8.0_121
 java.vendor=Oracle Corporation
-BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=fr_FR
-Framework arguments:  -product org.eclipse.epp.package.cpp.product
-Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.cpp.product
-
-!ENTRY org.eclipse.egit.ui 2 0 2016-04-07 11:10:11.653
-!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
-Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
-The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
-this system level configuration. The Git installation location can be configured on the
-Team > Git > Configuration preference page's 'System Settings' tab.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-
-!ENTRY org.eclipse.egit.ui 2 0 2016-04-07 11:10:11.657
-!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
-user global configuration and to define the default location to store repositories: 'C:\Users\rcluze'. If this is
-not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
-EGit might behave differently since they see different configuration options.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR
+Framework arguments:  -pluginCustomization configuration/st_pref.ini -product org.eclipse.epp.package.cpp.product
+Command-line arguments:  -os linux -ws gtk -arch x86_64 -pluginCustomization configuration/st_pref.ini -product org.eclipse.epp.package.cpp.product
 
-!ENTRY org.eclipse.cdt.core 1 0 2016-04-07 11:10:47.760
-!MESSAGE Indexed 'controle' (18 sources, 55 headers) in 1,55 sec: 2 111 declarations; 11 220 references; 0 unresolved inclusions; 13 syntax errors; 0 unresolved names (0 %)
+!ENTRY fr.ac6.mcu.ide 1 1 2017-05-10 13:14:40.610
+!MESSAGE Started RMI Server, listening on port 21112
 
-!ENTRY org.eclipse.equinox.p2.updatechecker 4 0 2016-04-07 11:11:38.434
-!MESSAGE Exception in update check thread
+!ENTRY org.eclipse.core.resources 2 567 2017-05-10 13:14:53.361
+!MESSAGE Failure occurred reading .project file.
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 13:14:53.361
+!MESSAGE Could not read metadata for 'Controle'.
 !STACK 0
-org.eclipse.core.runtime.OperationCanceledException
-	at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:125)
-	at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:156)
-	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadIndexFile(AbstractRepositoryManager.java:735)
-	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:657)
-	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
-	at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
-	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:151)
-	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:129)
-	at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:73)
-!SESSION 2016-04-07 12:07:03.327 -----------------------------------------------
-eclipse.buildId=4.4.2.M20150204-1700
-java.version=1.8.0_51
-java.vendor=Oracle Corporation
-BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=fr_FR
-Framework arguments:  -product org.eclipse.epp.package.cpp.product
-Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.cpp.product
-
-!ENTRY org.eclipse.egit.ui 2 0 2016-04-07 12:08:05.522
-!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
-Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
-The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
-this system level configuration. The Git installation location can be configured on the
-Team > Git > Configuration preference page's 'System Settings' tab.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-
-!ENTRY org.eclipse.egit.ui 2 0 2016-04-07 12:08:05.542
-!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
-user global configuration and to define the default location to store repositories: 'C:\Users\rcluze'. If this is
-not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
-EGit might behave differently since they see different configuration options.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-!SESSION 2016-04-07 16:53:29.815 -----------------------------------------------
-eclipse.buildId=4.4.2.M20150204-1700
-java.version=1.8.0_51
-java.vendor=Oracle Corporation
-BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=fr_FR
-Framework arguments:  -product org.eclipse.epp.package.cpp.product
-Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.cpp.product
+java.lang.NumberFormatException: For input string: ""
+	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
+	at java.lang.Integer.parseInt(Integer.java:592)
+	at java.lang.Integer.parseInt(Integer.java:615)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endLinkType(ProjectDescriptionReader.java:767)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endElement(ProjectDescriptionReader.java:386)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
+	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.read(ProjectDescriptionReader.java:924)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:877)
+	at org.eclipse.core.internal.resources.Project.updateDescription(Project.java:1329)
+	at org.eclipse.core.internal.resources.Project.create(Project.java:289)
+	at org.eclipse.core.internal.resources.Project.create(Project.java:252)
+	at org.eclipse.ui.internal.wizards.datatransfer.WizardProjectsImportPage.createExistingProject(WizardProjectsImportPage.java:1378)
+	at org.eclipse.ui.internal.wizards.datatransfer.WizardProjectsImportPage.access$21(WizardProjectsImportPage.java:1302)
+	at org.eclipse.ui.internal.wizards.datatransfer.WizardProjectsImportPage$20.execute(WizardProjectsImportPage.java:1232)
+	at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:108)
+	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
+	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:130)
+	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 13:14:53.362
+!MESSAGE Empty name detected for linked resource with type '1' and location ''.
 
-!ENTRY org.eclipse.egit.ui 2 0 2016-04-07 16:53:51.109
-!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
-Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
-The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
-this system level configuration. The Git installation location can be configured on the
-Team > Git > Configuration preference page's 'System Settings' tab.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
+!ENTRY org.eclipse.cdt.core 1 0 2017-05-10 13:14:56.639
+!MESSAGE Indexed 'Controle' (30 sources, 94 headers) in 2,44 sec: 6 437 declarations; 36 515 references; 0 unresolved inclusions; 49 syntax errors; 0 unresolved names (0 %)
 
-!ENTRY org.eclipse.egit.ui 2 0 2016-04-07 16:53:51.129
-!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
-user global configuration and to define the default location to store repositories: 'C:\Users\rcluze'. If this is
-not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
-EGit might behave differently since they see different configuration options.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-!SESSION 2016-04-12 14:28:05.820 -----------------------------------------------
-eclipse.buildId=4.4.2.M20150204-1700
-java.version=1.8.0_77
-java.vendor=Oracle Corporation
-BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=fr_FR
-Framework arguments:  -product org.eclipse.epp.package.cpp.product
-Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.cpp.product
-
-!ENTRY org.eclipse.egit.ui 2 0 2016-04-12 14:28:31.541
-!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level
-Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory.
-The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in
-this system level configuration. The Git installation location can be configured on the
-Team > Git > Configuration preference page's 'System Settings' tab.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-
-!ENTRY org.eclipse.egit.ui 2 0 2016-04-12 14:28:31.585
-!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
-user global configuration and to define the default location to store repositories: 'C:\Users\rcluze'. If this is
-not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
-EGit might behave differently since they see different configuration options.
-This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
-
-!ENTRY org.eclipse.cdt.core 1 0 2016-04-12 14:32:35.146
-!MESSAGE Indexed 'controle' (33 sources, 93 headers) in 19,1 sec: 6 382 declarations; 36 117 references; 0 unresolved inclusions; 45 syntax errors; 0 unresolved names (0 %)
-
-!ENTRY org.eclipse.core.resources 4 376 2016-04-12 15:35:38.871
-!MESSAGE Marker id 516 not found.
-
-!ENTRY org.eclipse.ltk.core.refactoring 4 10000 2016-04-12 17:06:24.817
-!MESSAGE Internal Error
+!ENTRY org.eclipse.core.resources 2 567 2017-05-10 13:53:30.614
+!MESSAGE Failure occurred reading .project file.
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 13:53:30.614
+!MESSAGE Could not read metadata for 'Controle'.
 !STACK 0
-java.lang.NullPointerException
-	at org.eclipse.cdt.internal.corext.codemanipulation.InclusionContext.<init>(InclusionContext.java:62)
-	at org.eclipse.cdt.internal.ui.refactoring.includes.IncludeCreationContext.<init>(IncludeCreationContext.java:42)
-	at org.eclipse.cdt.internal.ui.refactoring.rename.HeaderFileReferenceAdjuster.createEdit(HeaderFileReferenceAdjuster.java:237)
-	at org.eclipse.cdt.internal.ui.refactoring.rename.HeaderFileReferenceAdjuster.createEdit(HeaderFileReferenceAdjuster.java:229)
-	at org.eclipse.cdt.internal.ui.refactoring.rename.HeaderFileReferenceAdjuster.addFileChange(HeaderFileReferenceAdjuster.java:204)
-	at org.eclipse.cdt.internal.ui.refactoring.rename.HeaderFileReferenceAdjuster.createChange(HeaderFileReferenceAdjuster.java:174)
-	at org.eclipse.cdt.internal.ui.refactoring.rename.HeaderFileRenameParticipant.checkConditions(HeaderFileRenameParticipant.java:110)
-	at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:257)
-	at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:85)
-	at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:121)
-	at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:209)
-	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2313)
-	at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
-	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
-!SESSION 2017-01-31 10:00:51.814 -----------------------------------------------
-eclipse.buildId=4.4.2.M20150204-1700
-java.version=1.8.0_121
-java.vendor=Oracle Corporation
-BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR
-Framework arguments:  -product org.eclipse.epp.package.cpp.product
-Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.cpp.product
-
-!ENTRY org.eclipse.core.resources 4 567 2017-01-31 10:01:22.697
-!MESSAGE Workspace restored, but some problems occurred.
-!SUBENTRY 1 org.eclipse.core.resources 4 567 2017-01-31 10:01:22.697
-!MESSAGE Could not read metadata for 'controle'.
-!STACK 1
-org.eclipse.core.internal.resources.ResourceException: The project description file (.project) for 'controle' is missing.  This file contains important information about the project.  The project will not function properly until this file is restored.
-	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:851)
-	at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:884)
-	at org.eclipse.core.internal.resources.SaveManager.restoreMetaInfo(SaveManager.java:864)
-	at org.eclipse.core.internal.resources.SaveManager.restore(SaveManager.java:715)
-	at org.eclipse.core.internal.resources.SaveManager.startup(SaveManager.java:1565)
-	at org.eclipse.core.internal.resources.Workspace.startup(Workspace.java:2464)
-	at org.eclipse.core.internal.resources.Workspace.open(Workspace.java:2219)
-	at org.eclipse.core.resources.ResourcesPlugin.start(ResourcesPlugin.java:447)
-	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
-	at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
-	at java.security.AccessController.doPrivileged(Native Method)
-	at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
-	at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
-	at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:936)
-	at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:319)
-	at org.eclipse.osgi.container.Module.doStart(Module.java:571)
-	at org.eclipse.osgi.container.Module.start(Module.java:439)
-	at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
-	at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
-	at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
-	at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
-	at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:320)
-	at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
-	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:391)
-	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
-	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
-	at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
-	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
-	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:136)
-	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
-	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
-	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
-	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
-!SUBENTRY 2 org.eclipse.core.resources 4 567 2017-01-31 10:01:22.720
-!MESSAGE The project description file (.project) for 'controle' is missing.  This file contains important information about the project.  The project will not function properly until this file is restored.
+java.lang.NumberFormatException: For input string: ""
+	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
+	at java.lang.Integer.parseInt(Integer.java:592)
+	at java.lang.Integer.parseInt(Integer.java:615)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endLinkType(ProjectDescriptionReader.java:767)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endElement(ProjectDescriptionReader.java:386)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
+	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.read(ProjectDescriptionReader.java:924)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:877)
+	at org.eclipse.core.internal.resources.Project.updateDescription(Project.java:1329)
+	at org.eclipse.core.internal.resources.File.updateMetadataFiles(File.java:371)
+	at org.eclipse.core.internal.localstore.RefreshLocalVisitor.visit(RefreshLocalVisitor.java:312)
+	at org.eclipse.core.internal.localstore.UnifiedTree.accept(UnifiedTree.java:109)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.refreshResource(FileSystemResourceManager.java:957)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.refresh(FileSystemResourceManager.java:941)
+	at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1593)
+	at fr.ac6.mcu.ide.engine.CustomBoardGenerator.addCustomBoardToProject(CustomBoardGenerator.java:79)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:997)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:970)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.syncExistingBoard(MCUIdeProjectTargetPartsManager.java:799)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.visitBoardSetup(MCUIdeProjectTargetPartsManager.java:745)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doGetBoard(MCUIdeProjectTargetPartsManager.java:616)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getBoard(MCUIdeProjectTargetPartsManager.java:406)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:496)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:468)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:457)
+	at fr.ac6.mcu.ide.build.CrossCommandLineGenerator.generateCommandLineInfo(CrossCommandLineGenerator.java:73)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateToolCommandLineInfo(MakefileGenerator.java:2472)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addRuleForSource(MakefileGenerator.java:3032)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addFragmentMakefileEntriesForSource(MakefileGenerator.java:2292)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addSources(MakefileGenerator.java:2200)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.populateFragmentMakefile(MakefileGenerator.java:1040)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateMakefiles(MakefileGenerator.java:737)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performMakefileGeneration(CommonBuilder.java:1008)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performPrebuildGeneration(CommonBuilder.java:873)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:748)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
+	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245)
+	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
+	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359)
+	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382)
+	at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:486)
+	at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:405)
+	at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:287)
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 13:53:30.614
+!MESSAGE Empty name detected for linked resource with type '1' and location ''.
 
-!ENTRY org.eclipse.egit.core 4 0 2017-01-31 10:01:33.602
-!MESSAGE Remove repository mapping of Git mapped resource for which project or mapped git repository has disappeared: 'RepositoryMapping[<empty> -> '../../../.git', absolute path: '/home/rcluze/Projet/Autres/.git' ]'
+!ENTRY org.eclipse.core.resources 2 567 2017-05-10 14:19:38.723
+!MESSAGE Failure occurred reading .project file.
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 14:19:38.723
+!MESSAGE Could not read metadata for 'Controle'.
 !STACK 0
-java.io.FileNotFoundException: 
-	at org.eclipse.egit.core.project.GitProjectData.logAndUnmapGoneMappedResource(GitProjectData.java:531)
-	at org.eclipse.egit.core.project.GitProjectData.map(GitProjectData.java:497)
-	at org.eclipse.egit.core.project.GitProjectData.remapAll(GitProjectData.java:471)
-	at org.eclipse.egit.core.project.GitProjectData.load(GitProjectData.java:464)
-	at org.eclipse.egit.core.project.GitProjectData.get(GitProjectData.java:204)
-	at org.eclipse.egit.core.GitProvider.getData(GitProvider.java:86)
-	at org.eclipse.egit.core.project.RepositoryMapping.getMapping(RepositoryMapping.java:268)
-	at org.eclipse.egit.ui.Activator$ResourceRefreshJob.triggerRefresh(Activator.java:404)
-	at org.eclipse.egit.ui.Activator$2.windowActivated(Activator.java:267)
-	at org.eclipse.ui.internal.Workbench$11.run(Workbench.java:1045)
+java.lang.NumberFormatException: For input string: ""
+	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
+	at java.lang.Integer.parseInt(Integer.java:592)
+	at java.lang.Integer.parseInt(Integer.java:615)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endLinkType(ProjectDescriptionReader.java:767)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endElement(ProjectDescriptionReader.java:386)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
+	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.read(ProjectDescriptionReader.java:924)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:877)
+	at org.eclipse.core.internal.resources.Project.updateDescription(Project.java:1329)
+	at org.eclipse.core.internal.resources.File.updateMetadataFiles(File.java:371)
+	at org.eclipse.core.internal.localstore.RefreshLocalVisitor.visit(RefreshLocalVisitor.java:312)
+	at org.eclipse.core.internal.localstore.UnifiedTree.accept(UnifiedTree.java:109)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.refreshResource(FileSystemResourceManager.java:957)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.refresh(FileSystemResourceManager.java:941)
+	at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1593)
+	at fr.ac6.mcu.ide.engine.CustomBoardGenerator.addCustomBoardToProject(CustomBoardGenerator.java:79)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:997)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:970)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.syncExistingBoard(MCUIdeProjectTargetPartsManager.java:799)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.visitBoardSetup(MCUIdeProjectTargetPartsManager.java:745)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doGetBoard(MCUIdeProjectTargetPartsManager.java:616)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getBoard(MCUIdeProjectTargetPartsManager.java:406)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:496)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:468)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:457)
+	at fr.ac6.mcu.ide.build.CrossCommandLineGenerator.generateCommandLineInfo(CrossCommandLineGenerator.java:73)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateToolCommandLineInfo(MakefileGenerator.java:2472)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addRuleForSource(MakefileGenerator.java:3032)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addFragmentMakefileEntriesForSource(MakefileGenerator.java:2292)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addSources(MakefileGenerator.java:2200)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.populateFragmentMakefile(MakefileGenerator.java:1040)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateMakefiles(MakefileGenerator.java:737)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performMakefileGeneration(CommonBuilder.java:1008)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performPrebuildGeneration(CommonBuilder.java:873)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:748)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
+	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
-	at org.eclipse.ui.internal.Workbench.fireWindowActivated(Workbench.java:1042)
-	at org.eclipse.ui.internal.WorkbenchWindow$14.shellActivated(WorkbenchWindow.java:2285)
-	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:88)
-	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
-	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1412)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1393)
-	at org.eclipse.swt.widgets.Shell.filterProc(Shell.java:761)
-	at org.eclipse.swt.widgets.Display.filterProc(Display.java:1586)
-	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
-	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2477)
-	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3407)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
-	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
-	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
-	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
-	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
-	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
-	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
-	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
-	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
-	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
-	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
-	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
-
-!ENTRY fr.ac6.mcu.ide 1 1 2017-01-31 10:01:35.872
-!MESSAGE Started RMI Server, listening on port 21112
-
-!ENTRY org.eclipse.ui 4 0 2017-01-31 10:02:03.825
-!MESSAGE FileDocumentProvider.createElementInfo
-!STACK 1
-org.eclipse.core.internal.resources.ResourceException: Resource '/controle/STM32F030C8Tx_FLASH.ld' does not exist.
-	at org.eclipse.core.internal.resources.Resource.checkExists(Resource.java:341)
-	at org.eclipse.core.internal.resources.Resource.checkAccessible(Resource.java:215)
-	at org.eclipse.core.internal.resources.File.getContents(File.java:288)
-	at org.eclipse.core.internal.resources.File.getContents(File.java:279)
-	at fr.ac6.mcu.ldeditor.ui.editors.rawscripttexteditor.LDDocumentProvider.setDocumentContent(LDDocumentProvider.java:64)
-	at org.eclipse.ui.editors.text.StorageDocumentProvider.createDocument(StorageDocumentProvider.java:229)
-	at fr.ac6.mcu.ldeditor.ui.editors.rawscripttexteditor.LDDocumentProvider.createDocument(LDDocumentProvider.java:46)
-	at org.eclipse.ui.editors.text.FileDocumentProvider.createElementInfo(FileDocumentProvider.java:737)
-	at org.eclipse.ui.texteditor.AbstractDocumentProvider.connect(AbstractDocumentProvider.java:400)
-	at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4233)
-	at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237)
-	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1480)
-	at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169)
-	at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3220)
-	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:466)
-	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:374)
-	at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:2157)
-	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
-	at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2153)
-	at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3238)
-	at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3265)
-	at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:239)
-	at org.eclipse.ui.part.MultiPageEditorPart.addPage(MultiPageEditorPart.java:213)
-	at fr.ac6.mcu.ldeditor.ui.editors.LDMultiEditorPart.createRawTextEditorPage(LDMultiEditorPart.java:81)
-	at fr.ac6.mcu.ldeditor.ui.editors.LDMultiEditorPart.createPages(LDMultiEditorPart.java:113)
-	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:362)
-	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:141)
-	at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99)
-	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:327)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:888)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:869)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:120)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:337)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:258)
-	at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
-	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104)
-	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
-	at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55)
-	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:127)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:983)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245)
+	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300)
 	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1246)
-	at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:69)
-	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
-	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
-	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:156)
-	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4590)
-	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:218)
-	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
-	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
-	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
-	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
-	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
-	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
-	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
-	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
-	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
-	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
-	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
-	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
-	at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$10.widgetSelected(StackRenderer.java:1031)
-	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
-	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
-	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1412)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1397)
-	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1182)
-	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3110)
-	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1794)
-	at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:283)
-	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
-	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
-	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3799)
-	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3409)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
-	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
-	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
-	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
-	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
-	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
-	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
-	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
-	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
-	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
-	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
-	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
-!SUBENTRY 1 org.eclipse.core.resources 4 368 2017-01-31 10:02:03.826
-!MESSAGE Resource '/controle/STM32F030C8Tx_FLASH.ld' does not exist.
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
+	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359)
+	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382)
+	at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:486)
+	at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:405)
+	at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:287)
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 14:19:38.723
+!MESSAGE Empty name detected for linked resource with type '1' and location ''.
 
-!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-01-31 10:02:04.436
-!MESSAGE Error setting focus to : org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl sortie.c
+!ENTRY org.eclipse.core.resources 2 567 2017-05-10 14:29:51.942
+!MESSAGE Failure occurred reading .project file.
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 14:29:51.942
+!MESSAGE Could not read metadata for 'Controle'.
 !STACK 0
-org.eclipse.swt.SWTException: Widget is disposed
-	at org.eclipse.swt.SWT.error(SWT.java:4441)
-	at org.eclipse.swt.SWT.error(SWT.java:4356)
-	at org.eclipse.swt.SWT.error(SWT.java:4327)
-	at org.eclipse.swt.widgets.Widget.error(Widget.java:476)
-	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:413)
-	at org.eclipse.swt.widgets.Control.getVisible(Control.java:2958)
-	at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1441)
-	at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1441)
-	at org.eclipse.ui.texteditor.StatusTextEditor.setFocus(StatusTextEditor.java:120)
-	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:191)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:253)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:225)
-	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.focusGui(PartRenderingEngine.java:795)
-	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:100)
-	at org.eclipse.swt.custom.CTabItem.setFocus(CTabItem.java:332)
-	at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2555)
-	at org.eclipse.swt.widgets.Control.fixFocus(Control.java:207)
-	at org.eclipse.swt.widgets.Control.setVisible(Control.java:4871)
-	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3098)
-	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3055)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1259)
-	at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:69)
-	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
-	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
-	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:156)
-	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4590)
-	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:218)
-	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
-	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
-	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
-	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
-	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
-	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
-	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
-	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
-	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
-	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
-	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
-	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
-	at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
-	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1258)
-	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1215)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closePart(StackRenderer.java:1218)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.access$3(StackRenderer.java:1200)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$12.close(StackRenderer.java:1092)
-	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1874)
-	at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288)
-	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
-	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
-	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3799)
-	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3409)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
-	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
-	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
-	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
-	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
-	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
-	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
-	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
-	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
-	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
-	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
-	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
+java.lang.NumberFormatException: For input string: ""
+	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
+	at java.lang.Integer.parseInt(Integer.java:592)
+	at java.lang.Integer.parseInt(Integer.java:615)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endLinkType(ProjectDescriptionReader.java:767)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endElement(ProjectDescriptionReader.java:386)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
+	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.read(ProjectDescriptionReader.java:924)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:877)
+	at org.eclipse.core.internal.resources.Project.updateDescription(Project.java:1329)
+	at org.eclipse.core.internal.resources.File.updateMetadataFiles(File.java:371)
+	at org.eclipse.core.internal.localstore.RefreshLocalVisitor.visit(RefreshLocalVisitor.java:312)
+	at org.eclipse.core.internal.localstore.UnifiedTree.accept(UnifiedTree.java:109)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.refreshResource(FileSystemResourceManager.java:957)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.refresh(FileSystemResourceManager.java:941)
+	at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1593)
+	at fr.ac6.mcu.ide.engine.CustomBoardGenerator.addCustomBoardToProject(CustomBoardGenerator.java:79)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:997)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:970)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.syncExistingBoard(MCUIdeProjectTargetPartsManager.java:799)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.visitBoardSetup(MCUIdeProjectTargetPartsManager.java:745)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doGetBoard(MCUIdeProjectTargetPartsManager.java:616)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getBoard(MCUIdeProjectTargetPartsManager.java:406)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:496)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:468)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:457)
+	at fr.ac6.mcu.ide.build.CrossCommandLineGenerator.generateCommandLineInfo(CrossCommandLineGenerator.java:73)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateToolCommandLineInfo(MakefileGenerator.java:2472)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addRuleForSource(MakefileGenerator.java:3032)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addFragmentMakefileEntriesForSource(MakefileGenerator.java:2292)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addSources(MakefileGenerator.java:2200)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.populateFragmentMakefile(MakefileGenerator.java:1040)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateMakefiles(MakefileGenerator.java:737)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performMakefileGeneration(CommonBuilder.java:1008)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performPrebuildGeneration(CommonBuilder.java:873)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:748)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
+	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245)
+	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
+	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359)
+	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382)
+	at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:486)
+	at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:405)
+	at org.eclipse.ui.actions.BuildAction$1.runInWorkspace(BuildAction.java:287)
+	at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 14:29:51.943
+!MESSAGE Empty name detected for linked resource with type '1' and location ''.
 
-!ENTRY org.eclipse.e4.ui.workbench 4 0 2017-01-31 10:02:07.219
-!MESSAGE Error setting focus to : org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl main.c
+!ENTRY org.eclipse.core.resources 2 567 2017-05-10 14:34:03.514
+!MESSAGE Failure occurred reading .project file.
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 14:34:03.514
+!MESSAGE Could not read metadata for 'Controle'.
 !STACK 0
-org.eclipse.swt.SWTException: Widget is disposed
-	at org.eclipse.swt.SWT.error(SWT.java:4441)
-	at org.eclipse.swt.SWT.error(SWT.java:4356)
-	at org.eclipse.swt.SWT.error(SWT.java:4327)
-	at org.eclipse.swt.widgets.Widget.error(Widget.java:476)
-	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:413)
-	at org.eclipse.swt.widgets.Control.getVisible(Control.java:2958)
-	at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1441)
-	at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1441)
-	at org.eclipse.ui.texteditor.StatusTextEditor.setFocus(StatusTextEditor.java:120)
-	at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:191)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:253)
-	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:225)
-	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:107)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.focusGui(PartRenderingEngine.java:795)
-	at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:100)
-	at org.eclipse.swt.custom.CTabItem.setFocus(CTabItem.java:332)
-	at org.eclipse.swt.custom.CTabFolder.setFocus(CTabFolder.java:2555)
-	at org.eclipse.swt.widgets.Control.fixFocus(Control.java:207)
-	at org.eclipse.swt.widgets.Control.setVisible(Control.java:4871)
-	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3098)
-	at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3055)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1259)
-	at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:69)
-	at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
-	at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187)
-	at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:156)
-	at org.eclipse.swt.widgets.Display.syncExec(Display.java:4590)
-	at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:218)
-	at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
-	at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
-	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
-	at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
-	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
-	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
-	at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
-	at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
-	at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
-	at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81)
-	at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
-	at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
-	at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
-	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1262)
-	at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartServiceImpl.java:1215)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.closePart(StackRenderer.java:1218)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.access$3(StackRenderer.java:1200)
-	at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$12.close(StackRenderer.java:1092)
-	at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1874)
-	at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:288)
-	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
-	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4454)
-	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388)
-	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3799)
-	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3409)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
-	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
-	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
-	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
-	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
-	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
-	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
-	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
-	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
-	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
-	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
-	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
-	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
-	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
-	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
-	at java.lang.reflect.Method.invoke(Method.java:498)
-	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
-	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
-	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
-	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
-
-!ENTRY org.eclipse.core.resources 4 567 2017-01-31 10:02:10.039
-!MESSAGE The project description file (.project) for 'controle' is missing.  This file contains important information about the project.  The project will not function properly until this file is restored.
-
-!ENTRY org.eclipse.cdt.core 1 0 2017-01-31 10:02:40.784
-!MESSAGE Indexed 'controle' (34 sources, 101 headers) in 2,95 sec: 6 428 declarations; 36 562 references; 0 unresolved inclusions; 46 syntax errors; 6 unresolved names (0,014 %)
-!SESSION 2017-02-03 14:09:56.722 -----------------------------------------------
-eclipse.buildId=4.4.2.M20150204-1700
-java.version=1.8.0_121
-java.vendor=Oracle Corporation
-BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR
-Framework arguments:  -product org.eclipse.epp.package.cpp.product
-Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.cpp.product
-
-!ENTRY org.eclipse.core.resources 2 10035 2017-02-03 14:11:28.619
-!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
-
-!ENTRY fr.ac6.mcu.ide 1 1 2017-02-03 14:11:43.026
-!MESSAGE Started RMI Server, listening on port 21112
+java.lang.NumberFormatException: For input string: ""
+	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
+	at java.lang.Integer.parseInt(Integer.java:592)
+	at java.lang.Integer.parseInt(Integer.java:615)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endLinkType(ProjectDescriptionReader.java:767)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.endElement(ProjectDescriptionReader.java:386)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:183)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:351)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
+	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
+	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
+	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
+	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
+	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
+	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
+	at org.eclipse.core.internal.resources.ProjectDescriptionReader.read(ProjectDescriptionReader.java:924)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:877)
+	at org.eclipse.core.internal.resources.Project.updateDescription(Project.java:1329)
+	at org.eclipse.core.internal.resources.File.updateMetadataFiles(File.java:371)
+	at org.eclipse.core.internal.localstore.RefreshLocalVisitor.visit(RefreshLocalVisitor.java:312)
+	at org.eclipse.core.internal.localstore.UnifiedTree.accept(UnifiedTree.java:109)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.refreshResource(FileSystemResourceManager.java:957)
+	at org.eclipse.core.internal.localstore.FileSystemResourceManager.refresh(FileSystemResourceManager.java:941)
+	at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1593)
+	at fr.ac6.mcu.ide.engine.CustomBoardGenerator.addCustomBoardToProject(CustomBoardGenerator.java:79)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:997)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doApplyBoard(MCUIdeProjectTargetPartsManager.java:970)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.syncExistingBoard(MCUIdeProjectTargetPartsManager.java:799)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.visitBoardSetup(MCUIdeProjectTargetPartsManager.java:745)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.doGetBoard(MCUIdeProjectTargetPartsManager.java:616)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getBoard(MCUIdeProjectTargetPartsManager.java:406)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:496)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:468)
+	at fr.ac6.mcu.ide.core.MCUIdeProjectTargetPartsManager.getMcu(MCUIdeProjectTargetPartsManager.java:457)
+	at fr.ac6.mcu.ide.build.CrossCommandLineGenerator.generateCommandLineInfo(CrossCommandLineGenerator.java:73)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.generateToolCommandLineInfo(MakefileGenerator.java:2472)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addRuleForSource(MakefileGenerator.java:3032)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addFragmentMakefileEntriesForSource(MakefileGenerator.java:2292)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.addSources(MakefileGenerator.java:2200)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.populateFragmentMakefile(MakefileGenerator.java:1040)
+	at fr.ac6.mcu.ide.process.makefile.MakefileGenerator.regenerateMakefiles(MakefileGenerator.java:955)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performMakefileGeneration(CommonBuilder.java:1006)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.performPrebuildGeneration(CommonBuilder.java:873)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:748)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:510)
+	at org.eclipse.cdt.managedbuilder.internal.core.CommonBuilder.build(CommonBuilder.java:459)
+	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245)
+	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300)
+	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
+	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
+	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359)
+	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382)
+	at org.eclipse.core.internal.resources.Workspace.buildInternal(Workspace.java:486)
+	at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:398)
+	at org.eclipse.ui.actions.GlobalBuildAction$1.run(GlobalBuildAction.java:182)
+	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
+!SUBENTRY 1 org.eclipse.core.resources 2 567 2017-05-10 14:34:03.515
+!MESSAGE Empty name detected for linked resource with type '1' and location ''.

BIN
soft/.metadata/.mylyn/repositories.xml.zip


+ 0 - 5
soft/.metadata/.plugins/org.eclipse.cdt.core/.log

@@ -1,5 +0,0 @@
-*** SESSION avr. 07, 2016 11:10:00.79 ------------------------------------------
-*** SESSION avr. 07, 2016 12:07:50.62 ------------------------------------------
-*** SESSION avr. 07, 2016 16:53:49.05 ------------------------------------------
-*** SESSION avr. 12, 2016 14:28:23.29 ------------------------------------------
-*** SESSION févr. 03, 2017 14:11:35.61 -----------------------------------------

BIN
soft/.metadata/.plugins/org.eclipse.cdt.core/Controle.1494414894169.pdom


+ 10 - 10
soft/.metadata/.plugins/org.eclipse.cdt.core/controle.language.settings.xml → soft/.metadata/.plugins/org.eclipse.cdt.core/Controle.language.settings.xml

@@ -1,16 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <project>
-	<configuration id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.384963052" name="Debug">
+	<configuration id="fr.ac6.managedbuild.config.gnu.cross.exe.debug.1947368500" name="Debug">
 		<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
 			<provider id="fr.ac6.mcu.ide.build.CrossBuiltinSpecsDetector">
 				<language id="org.eclipse.cdt.core.gcc">
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/lib/gcc/arm-none-eabi/5.4.1/include">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/lib/gcc/arm-none-eabi/5.4.1/include">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/lib/gcc/arm-none-eabi/5.4.1/include-fixed">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/lib/gcc/arm-none-eabi/5.4.1/include-fixed">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/arm-none-eabi/include">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/arm-none-eabi/include">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
 					<entry kind="macro" name="__ACCUM_EPSILON__" value="0x1P-15K">
@@ -1044,22 +1044,22 @@
 					</entry>
 				</language>
 				<language id="org.eclipse.cdt.core.g++">
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/arm-none-eabi/include/c++/5.4.1">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/arm-none-eabi/include/c++/5.4.1">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/arm-none-eabi/include/c++/5.4.1/arm-none-eabi">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/arm-none-eabi/include/c++/5.4.1/arm-none-eabi">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/arm-none-eabi/include/c++/5.4.1/backward">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/arm-none-eabi/include/c++/5.4.1/backward">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/lib/gcc/arm-none-eabi/5.4.1/include">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/lib/gcc/arm-none-eabi/5.4.1/include">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/lib/gcc/arm-none-eabi/5.4.1/include-fixed">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/lib/gcc/arm-none-eabi/5.4.1/include-fixed">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
-					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.0.201701121612/tools/compiler/arm-none-eabi/include">
+					<entry kind="includePath" name="/home/rcluze/Soft/Ac6/SystemWorkbench/plugins/fr.ac6.mcu.externaltools.arm-none.linux64_1.13.1.201703061524/tools/compiler/arm-none-eabi/include">
 						<flag value="BUILTIN|READONLY"/>
 					</entry>
 					<entry kind="macro" name="__ACCUM_EPSILON__" value="0x1P-15K">

BIN
soft/.metadata/.plugins/org.eclipse.cdt.core/controle.1460464335924.pdom


BIN
soft/.metadata/.plugins/org.eclipse.cdt.core/controle.1485853357561.pdom


+ 203 - 0
soft/.metadata/.plugins/org.eclipse.cdt.ui/Controle.build.log

@@ -0,0 +1,203 @@
+14:34:58 **** Incremental Build of configuration Debug for project Controle ****
+make all 
+Building file: ../Src/freertos.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/freertos.d" -MT"Src/freertos.o" -o "Src/freertos.o" "../Src/freertos.c"
+Finished building: ../Src/freertos.c
+ 
+Building file: ../Src/gpio.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/gpio.d" -MT"Src/gpio.o" -o "Src/gpio.o" "../Src/gpio.c"
+Finished building: ../Src/gpio.c
+ 
+Building file: ../Src/main.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/main.d" -MT"Src/main.o" -o "Src/main.o" "../Src/main.c"
+Finished building: ../Src/main.c
+ 
+Building file: ../Src/stm32f0xx_hal_msp.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_hal_msp.d" -MT"Src/stm32f0xx_hal_msp.o" -o "Src/stm32f0xx_hal_msp.o" "../Src/stm32f0xx_hal_msp.c"
+Finished building: ../Src/stm32f0xx_hal_msp.c
+ 
+Building file: ../Src/stm32f0xx_hal_timebase_TIM.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_hal_timebase_TIM.d" -MT"Src/stm32f0xx_hal_timebase_TIM.o" -o "Src/stm32f0xx_hal_timebase_TIM.o" "../Src/stm32f0xx_hal_timebase_TIM.c"
+Finished building: ../Src/stm32f0xx_hal_timebase_TIM.c
+ 
+Building file: ../Src/stm32f0xx_it.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_it.d" -MT"Src/stm32f0xx_it.o" -o "Src/stm32f0xx_it.o" "../Src/stm32f0xx_it.c"
+Finished building: ../Src/stm32f0xx_it.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o" -o "Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o" "../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.o" -o "Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.o" "../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o" -o "Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o" "../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/croutine.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/croutine.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/croutine.o" -o "Middlewares/Third_Party/FreeRTOS/Source/croutine.o" "../Middlewares/Third_Party/FreeRTOS/Source/croutine.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/croutine.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/event_groups.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/event_groups.o" -o "Middlewares/Third_Party/FreeRTOS/Source/event_groups.o" "../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/list.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/list.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/list.o" -o "Middlewares/Third_Party/FreeRTOS/Source/list.o" "../Middlewares/Third_Party/FreeRTOS/Source/list.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/list.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/queue.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/queue.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/queue.o" -o "Middlewares/Third_Party/FreeRTOS/Source/queue.o" "../Middlewares/Third_Party/FreeRTOS/Source/queue.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/queue.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/tasks.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/tasks.o" -o "Middlewares/Third_Party/FreeRTOS/Source/tasks.o" "../Middlewares/Third_Party/FreeRTOS/Source/tasks.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c
+ 
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/timers.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/timers.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/timers.o" -o "Middlewares/Third_Party/FreeRTOS/Source/timers.o" "../Middlewares/Third_Party/FreeRTOS/Source/timers.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/timers.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
+ 
+Building file: ../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
+Invoking: MCU GCC Assembler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-as -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -g -o "Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.o" "../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s"
+Finished building: ../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
+ 
+Building file: ../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.d" -MT"Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.o" -o "Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.o" "../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c"
+Finished building: ../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
+ 
+Building target: Controle.elf
+Invoking: MCU GCC Linker
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -specs=nosys.specs -specs=nano.specs -T"../STM32F030C8Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -lm -o "Controle.elf" @"objects.list"  
+Finished building target: Controle.elf
+ 
+make --no-print-directory post-build
+Generating binary and Printing size information:
+arm-none-eabi-objcopy -O binary "Controle.elf" "Controle.bin"
+arm-none-eabi-size "Controle.elf"
+   text	   data	    bss	    dec	    hex	filename
+   8732	     16	   5064	  13812	   35f4	Controle.elf
+ 
+
+14:35:03 Build Finished (took 4s.684ms)
+

+ 0 - 269
soft/.metadata/.plugins/org.eclipse.cdt.ui/controle.build.log

@@ -1,269 +0,0 @@
-14:47:11 **** Incremental Build of configuration Debug for project controle ****
-make all 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/source/sortie.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"source/sortie.d" -MT"source/sortie.o" -o "source/sortie.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/source/sortie.c"
-In file included from /home/rcluze/Projet/Autres/rampesLeds/soft/controle/source/sortie.c:1:0:
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:12:1: warning: parameter names (without types) in function declaration
- void lireSortie(heure,tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:14:1: warning: parameter names (without types) in function declaration
- char getChange(tableSortie);
- ^
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/source/sortie.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/main.d" -MT"Src/main.o" -o "Src/main.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c"
-In file included from /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:43:0:
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:12:1: warning: parameter names (without types) in function declaration
- void lireSortie(heure,tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:14:1: warning: parameter names (without types) in function declaration
- char getChange(tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c: In function 'main':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:98:2: warning: implicit declaration of function 'demarreTimer1' [-Wimplicit-function-declaration]
-  demarreTimer1();
-  ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:109:5: warning: implicit declaration of function 'demarreTimer2' [-Wimplicit-function-declaration]
-     demarreTimer2();
-     ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:111:5: warning: implicit declaration of function 'eteindreTimer2' [-Wimplicit-function-declaration]
-     eteindreTimer2();
-     ^
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_hal_msp.d" -MT"Src/stm32f0xx_hal_msp.o" -o "Src/stm32f0xx_hal_msp.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_it.d" -MT"Src/stm32f0xx_it.o" -o "Src/stm32f0xx_it.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/tim.d" -MT"Src/tim.o" -o "Src/tim.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_cortex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_cortex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_cortex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_dma.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_dma.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_dma.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_gpio.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_gpio.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_gpio.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/CMSIS/system_stm32f0xx.d" -MT"Drivers/CMSIS/system_stm32f0xx.o" -o "Drivers/CMSIS/system_stm32f0xx.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/gpio.d" -MT"Application/User/gpio.o" -o "Application/User/gpio.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/i2c.d" -MT"Application/User/i2c.o" -o "Application/User/i2c.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/main.d" -MT"Application/User/main.o" -o "Application/User/main.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c"
-In file included from /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:43:0:
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:12:1: warning: parameter names (without types) in function declaration
- void lireSortie(heure,tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:14:1: warning: parameter names (without types) in function declaration
- char getChange(tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c: In function 'main':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:98:2: warning: implicit declaration of function 'demarreTimer1' [-Wimplicit-function-declaration]
-  demarreTimer1();
-  ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:109:5: warning: implicit declaration of function 'demarreTimer2' [-Wimplicit-function-declaration]
-     demarreTimer2();
-     ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:111:5: warning: implicit declaration of function 'eteindreTimer2' [-Wimplicit-function-declaration]
-     eteindreTimer2();
-     ^
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/stm32f0xx_hal_msp.d" -MT"Application/User/stm32f0xx_hal_msp.o" -o "Application/User/stm32f0xx_hal_msp.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/stm32f0xx_it.d" -MT"Application/User/stm32f0xx_it.o" -o "Application/User/stm32f0xx_it.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c
-Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/tim.d" -MT"Application/User/tim.o" -o "Application/User/tim.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
-Invoking: MCU GCC Assembler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-as -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -g -o "Application/SW4STM32/startup_stm32f030x8.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
- 
-Building target: controle.elf
-Invoking: MCU GCC Linker
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -specs=nosys.specs -specs=nano.specs -T"../STM32F030C8Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -lm -o "controle.elf" @"objects.list"  
-Application/User/gpio.o: In function `MX_GPIO_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c:61: multiple definition of `MX_GPIO_Init'
-makefile:38 : la recette pour la cible « controle.elf » a échouée
-Src/gpio.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c:61: first defined here
-Application/User/i2c.o: In function `MX_I2C1_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: multiple definition of `MX_I2C1_Init'
-Src/i2c.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: first defined here
-Application/User/i2c.o: In function `MX_I2C1_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: multiple definition of `HAL_I2C_MspInit'
-Src/i2c.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: first defined here
-Application/User/i2c.o: In function `MX_I2C1_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: multiple definition of `HAL_I2C_MspDeInit'
-Src/i2c.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: first defined here
-Application/User/main.o: In function `SystemClock_Config':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: multiple definition of `SystemClock_Config'
-Src/main.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: first defined here
-Application/User/main.o: In function `SystemClock_Config':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: multiple definition of `main'
-Src/main.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: first defined here
-Application/User/main.o: In function `SystemClock_Config':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: multiple definition of `Error_Handler'
-Src/main.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: first defined here
-Application/User/stm32f0xx_hal_msp.o: In function `HAL_MspInit':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c:50: multiple definition of `HAL_MspInit'
-Src/stm32f0xx_hal_msp.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c:50: first defined here
-Application/User/stm32f0xx_it.o: In function `SVC_Handler':
-stm32f0xx_it.c:(.text.SVC_Handler+0x0): multiple definition of `SVC_Handler'
-Src/stm32f0xx_it.o:stm32f0xx_it.c:(.text.SVC_Handler+0x0): first defined here
-Application/User/stm32f0xx_it.o: In function `PendSV_Handler':
-stm32f0xx_it.c:(.text.PendSV_Handler+0x0): multiple definition of `PendSV_Handler'
-Src/stm32f0xx_it.o:stm32f0xx_it.c:(.text.PendSV_Handler+0x0): first defined here
-Application/User/stm32f0xx_it.o: In function `SysTick_Handler':
-stm32f0xx_it.c:(.text.SysTick_Handler+0x0): multiple definition of `SysTick_Handler'
-Src/stm32f0xx_it.o:stm32f0xx_it.c:(.text.SysTick_Handler+0x0): first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `MX_TIM6_Init'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `MX_TIM14_Init'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `MX_TIM16_Init'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `HAL_TIM_Base_MspInit'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `HAL_TIM_Base_MspDeInit'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Src/main.o: In function `main':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:87: undefined reference to `lireHeure'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:98: undefined reference to `demarreTimer1'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:106: undefined reference to `lireSortie'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:107: undefined reference to `getChange'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:109: undefined reference to `demarreTimer2'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:111: undefined reference to `eteindreTimer2'
-collect2: error: ld returned 1 exit status
-make: *** [controle.elf] Erreur 1
-
-14:47:15 Build Finished (took 4s.722ms)
-

+ 0 - 18
soft/.metadata/.plugins/org.eclipse.cdt.ui/dialog_settings.xml

@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<section name="Workbench">
-	<item value="../../../include" key="org.eclipse.cdt.utils.ui.controls.FileListControl"/>
-	<item value="Default C header template" key="LastUsedHeaderTemplate"/>
-	<section name="org.eclipse.cdt.ui.OPEN_ACTION_SELECTION_DIALOG_SECTION">
-		<item value="398" key="DIALOG_WIDTH"/>
-		<item value="1|Segoe UI|9.0|0|WINDOWS|1|-12|0|0|0|400|0|0|0|1|0|0|0|0|Segoe UI" key="DIALOG_FONT_NAME"/>
-		<item value="437" key="DIALOG_HEIGHT"/>
-		<item value="769" key="DIALOG_X_ORIGIN"/>
-		<item value="237" key="DIALOG_Y_ORIGIN"/>
-	</section>
-	<section name="org.eclipse.cdt.ui.text.hover.CMacroExpansionExploration">
-	</section>
-	<section name="OptionalMessageDialog.hide.">
-	</section>
-	<section name="completion_proposal_size">
-	</section>
-</section>

+ 147 - 213
soft/.metadata/.plugins/org.eclipse.cdt.ui/global-build.log

@@ -1,266 +1,200 @@
-14:47:11 **** Incremental Build of configuration Debug for project controle ****
+14:34:58 **** Incremental Build of configuration Debug for project Controle ****
 make all 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/source/sortie.c
+Building file: ../Src/freertos.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"source/sortie.d" -MT"source/sortie.o" -o "source/sortie.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/source/sortie.c"
-In file included from /home/rcluze/Projet/Autres/rampesLeds/soft/controle/source/sortie.c:1:0:
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:12:1: warning: parameter names (without types) in function declaration
- void lireSortie(heure,tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:14:1: warning: parameter names (without types) in function declaration
- char getChange(tableSortie);
- ^
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/source/sortie.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/freertos.d" -MT"Src/freertos.o" -o "Src/freertos.o" "../Src/freertos.c"
+Finished building: ../Src/freertos.c
+ 
+Building file: ../Src/gpio.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/gpio.d" -MT"Src/gpio.o" -o "Src/gpio.o" "../Src/gpio.c"
+Finished building: ../Src/gpio.c
+ 
+Building file: ../Src/main.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/main.d" -MT"Src/main.o" -o "Src/main.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c"
-In file included from /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:43:0:
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:12:1: warning: parameter names (without types) in function declaration
- void lireSortie(heure,tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:14:1: warning: parameter names (without types) in function declaration
- char getChange(tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c: In function 'main':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:98:2: warning: implicit declaration of function 'demarreTimer1' [-Wimplicit-function-declaration]
-  demarreTimer1();
-  ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:109:5: warning: implicit declaration of function 'demarreTimer2' [-Wimplicit-function-declaration]
-     demarreTimer2();
-     ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:111:5: warning: implicit declaration of function 'eteindreTimer2' [-Wimplicit-function-declaration]
-     eteindreTimer2();
-     ^
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/main.d" -MT"Src/main.o" -o "Src/main.o" "../Src/main.c"
+Finished building: ../Src/main.c
+ 
+Building file: ../Src/stm32f0xx_hal_msp.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_hal_msp.d" -MT"Src/stm32f0xx_hal_msp.o" -o "Src/stm32f0xx_hal_msp.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_hal_msp.d" -MT"Src/stm32f0xx_hal_msp.o" -o "Src/stm32f0xx_hal_msp.o" "../Src/stm32f0xx_hal_msp.c"
+Finished building: ../Src/stm32f0xx_hal_msp.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c
+Building file: ../Src/stm32f0xx_hal_timebase_TIM.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_it.d" -MT"Src/stm32f0xx_it.o" -o "Src/stm32f0xx_it.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_hal_timebase_TIM.d" -MT"Src/stm32f0xx_hal_timebase_TIM.o" -o "Src/stm32f0xx_hal_timebase_TIM.o" "../Src/stm32f0xx_hal_timebase_TIM.c"
+Finished building: ../Src/stm32f0xx_hal_timebase_TIM.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c
+Building file: ../Src/stm32f0xx_it.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/tim.d" -MT"Src/tim.o" -o "Src/tim.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Src/stm32f0xx_it.d" -MT"Src/stm32f0xx_it.o" -o "Src/stm32f0xx_it.o" "../Src/stm32f0xx_it.c"
+Finished building: ../Src/stm32f0xx_it.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o" -o "Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o" "../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_cortex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_cortex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_cortex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.o" -o "Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.o" "../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_dma.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_dma.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_dma.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o" -o "Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o" "../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/croutine.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/croutine.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/croutine.o" -o "Middlewares/Third_Party/FreeRTOS/Source/croutine.o" "../Middlewares/Third_Party/FreeRTOS/Source/croutine.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/croutine.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_flash_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/event_groups.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/event_groups.o" -o "Middlewares/Third_Party/FreeRTOS/Source/event_groups.o" "../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/event_groups.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/list.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_gpio.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_gpio.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_gpio.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/list.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/list.o" -o "Middlewares/Third_Party/FreeRTOS/Source/list.o" "../Middlewares/Third_Party/FreeRTOS/Source/list.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/list.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/queue.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/queue.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/queue.o" -o "Middlewares/Third_Party/FreeRTOS/Source/queue.o" "../Middlewares/Third_Party/FreeRTOS/Source/queue.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/queue.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_i2c_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/tasks.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/tasks.o" -o "Middlewares/Third_Party/FreeRTOS/Source/tasks.o" "../Middlewares/Third_Party/FreeRTOS/Source/tasks.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/tasks.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
+Building file: ../Middlewares/Third_Party/FreeRTOS/Source/timers.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Middlewares/Third_Party/FreeRTOS/Source/timers.d" -MT"Middlewares/Third_Party/FreeRTOS/Source/timers.o" -o "Middlewares/Third_Party/FreeRTOS/Source/timers.o" "../Middlewares/Third_Party/FreeRTOS/Source/timers.c"
+Finished building: ../Middlewares/Third_Party/FreeRTOS/Source/timers.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_pwr_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_rcc_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/stm32f0xx_hal_tim_ex.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/CMSIS/system_stm32f0xx.d" -MT"Drivers/CMSIS/system_stm32f0xx.o" -o "Drivers/CMSIS/system_stm32f0xx.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/gpio.d" -MT"Application/User/gpio.o" -o "Application/User/gpio.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/i2c.d" -MT"Application/User/i2c.o" -o "Application/User/i2c.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/main.d" -MT"Application/User/main.o" -o "Application/User/main.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c"
-In file included from /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:43:0:
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:12:1: warning: parameter names (without types) in function declaration
- void lireSortie(heure,tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include/sortie.h:14:1: warning: parameter names (without types) in function declaration
- char getChange(tableSortie);
- ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c: In function 'main':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:98:2: warning: implicit declaration of function 'demarreTimer1' [-Wimplicit-function-declaration]
-  demarreTimer1();
-  ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:109:5: warning: implicit declaration of function 'demarreTimer2' [-Wimplicit-function-declaration]
-     demarreTimer2();
-     ^
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:111:5: warning: implicit declaration of function 'eteindreTimer2' [-Wimplicit-function-declaration]
-     eteindreTimer2();
-     ^
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c
- 
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
+ 
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/stm32f0xx_hal_msp.d" -MT"Application/User/stm32f0xx_hal_msp.o" -o "Application/User/stm32f0xx_hal_msp.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/stm32f0xx_it.d" -MT"Application/User/stm32f0xx_it.o" -o "Application/User/stm32f0xx_it.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_it.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
 Invoking: MCU GCC Compiler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Include"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Application/User/tim.d" -MT"Application/User/tim.o" -o "Application/User/tim.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
  
-Building file: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
+Building file: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.d" -MT"Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.o" -o "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.o" "../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c"
+Finished building: ../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
+ 
+Building file: ../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
 Invoking: MCU GCC Assembler
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/SW4STM32/controle/Debug
-arm-none-eabi-as -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -g -o "Application/SW4STM32/startup_stm32f030x8.o" "/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s"
-Finished building: /home/rcluze/Projet/Autres/rampesLeds/soft/controle/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-as -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -g -o "Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.o" "../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s"
+Finished building: ../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
+ 
+Building file: ../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
+Invoking: MCU GCC Compiler
+/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Debug
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft '-D__weak=__attribute__((weak))' '-D__packed="__attribute__((__packed__))"' -DUSE_HAL_DRIVER -DSTM32F030x8 -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM0" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Device/ST/STM32F0xx/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Drivers/CMSIS/Include" -I"/home/rcluze/Projet/Autres/rampesLeds/soft/Controle/Inc"  -Os -g3 -Wall -fmessage-length=0 -ffunction-sections -c -fmessage-length=0 -MMD -MP -MF"Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.d" -MT"Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.o" -o "Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.o" "../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c"
+Finished building: ../Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
  
-Building target: controle.elf
+Building target: Controle.elf
 Invoking: MCU GCC Linker
-arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -specs=nosys.specs -specs=nano.specs -T"../STM32F030C8Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -lm -o "controle.elf" @"objects.list"  
-Application/User/gpio.o: In function `MX_GPIO_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c:61: multiple definition of `MX_GPIO_Init'
-makefile:38 : la recette pour la cible « controle.elf » a échouée
-Src/gpio.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/gpio.c:61: first defined here
-Application/User/i2c.o: In function `MX_I2C1_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: multiple definition of `MX_I2C1_Init'
-Src/i2c.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: first defined here
-Application/User/i2c.o: In function `MX_I2C1_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: multiple definition of `HAL_I2C_MspInit'
-Src/i2c.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: first defined here
-Application/User/i2c.o: In function `MX_I2C1_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: multiple definition of `HAL_I2C_MspDeInit'
-Src/i2c.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/i2c.c:48: first defined here
-Application/User/main.o: In function `SystemClock_Config':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: multiple definition of `SystemClock_Config'
-Src/main.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: first defined here
-Application/User/main.o: In function `SystemClock_Config':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: multiple definition of `main'
-Src/main.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: first defined here
-Application/User/main.o: In function `SystemClock_Config':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: multiple definition of `Error_Handler'
-Src/main.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:134: first defined here
-Application/User/stm32f0xx_hal_msp.o: In function `HAL_MspInit':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c:50: multiple definition of `HAL_MspInit'
-Src/stm32f0xx_hal_msp.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/stm32f0xx_hal_msp.c:50: first defined here
-Application/User/stm32f0xx_it.o: In function `SVC_Handler':
-stm32f0xx_it.c:(.text.SVC_Handler+0x0): multiple definition of `SVC_Handler'
-Src/stm32f0xx_it.o:stm32f0xx_it.c:(.text.SVC_Handler+0x0): first defined here
-Application/User/stm32f0xx_it.o: In function `PendSV_Handler':
-stm32f0xx_it.c:(.text.PendSV_Handler+0x0): multiple definition of `PendSV_Handler'
-Src/stm32f0xx_it.o:stm32f0xx_it.c:(.text.PendSV_Handler+0x0): first defined here
-Application/User/stm32f0xx_it.o: In function `SysTick_Handler':
-stm32f0xx_it.c:(.text.SysTick_Handler+0x0): multiple definition of `SysTick_Handler'
-Src/stm32f0xx_it.o:stm32f0xx_it.c:(.text.SysTick_Handler+0x0): first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `MX_TIM6_Init'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `MX_TIM14_Init'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `MX_TIM16_Init'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `HAL_TIM_Base_MspInit'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Application/User/tim.o: In function `MX_TIM6_Init':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: multiple definition of `HAL_TIM_Base_MspDeInit'
-Src/tim.o:/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/tim.c:50: first defined here
-Src/main.o: In function `main':
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:87: undefined reference to `lireHeure'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:98: undefined reference to `demarreTimer1'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:106: undefined reference to `lireSortie'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:107: undefined reference to `getChange'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:109: undefined reference to `demarreTimer2'
-/home/rcluze/Projet/Autres/rampesLeds/soft/controle/Src/main.c:111: undefined reference to `eteindreTimer2'
-collect2: error: ld returned 1 exit status
-make: *** [controle.elf] Erreur 1
+arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -mfloat-abi=soft -specs=nosys.specs -specs=nano.specs -T"../STM32F030C8Tx_FLASH.ld" -Wl,-Map=output.map -Wl,--gc-sections -lm -o "Controle.elf" @"objects.list"  
+Finished building target: Controle.elf
+ 
+make --no-print-directory post-build
+Generating binary and Printing size information:
+arm-none-eabi-objcopy -O binary "Controle.elf" "Controle.bin"
+arm-none-eabi-size "Controle.elf"
+   text	   data	    bss	    dec	    hex	filename
+   8732	     16	   5064	  13812	   35f4	Controle.elf
+ 

+ 288 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/1/b04b7d087e3500171025a17b13aa5e23

@@ -0,0 +1,288 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTOS.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void changeheure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		heureChange(heure);
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 126
soft/.metadata/.plugins/org.eclipse.core.resources/.history/11/505ce0ccc200001615c49fd51d2574c3

@@ -1,126 +0,0 @@
-#include "sortie.h"
-
-void sortie(char *encours,int time,char *temps,char *pause){
-	int heure=timeheure;
-	int nbsec=timemin*timesec;
-
-	switch(heure){
-	case 9:
-		pause=0;
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 10:
-		encours[0]=0;
-		encours[1]=1;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 11:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=1;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 12:
-		pause =1;
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 19:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=1;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 20:
-		encours[0]=0;
-		encours[1]=1;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 21:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 22:
-		pause = 2;
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	}
-
-	temps
-}

+ 283 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/12/100926cf7d3500171025a17b13aa5e23

@@ -0,0 +1,283 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTOS.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		heure=lireRTOS();
+		ecrireEprom(heure);
+		heureChange(heure);
+		osDelay(3000);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 215 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/17/605909ae7a3500171025a17b13aa5e23

@@ -0,0 +1,215 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+
+		break;
+	case 1:
+		break;
+	case 2:
+		break;
+	case 3:
+		break;
+	case 4:
+		break;
+	case 5:
+		break;
+	case 6:
+		break;
+	case 7:
+		break;
+	case 8:
+		break;
+	case 9:
+		break;
+	case 10:
+		break;
+	case 11:
+		break;
+	case 12:
+		break;
+
+}
+}
+
+void eteint(int i){
+
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 87 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/19/00862491823500171025a17b13aa5e23

@@ -0,0 +1,87 @@
+/**
+  ******************************************************************************
+  * File Name          : stm32f0xx_hal_msp.c
+  * Description        : This file provides code for the MSP Initialization 
+  *                      and de-Initialization codes.
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f0xx_hal.h"
+
+extern void Error_Handler(void);
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+/**
+  * Initializes the Global MSP.
+  */
+void HAL_MspInit(void)
+{
+  /* USER CODE BEGIN MspInit 0 */
+
+  /* USER CODE END MspInit 0 */
+
+  __HAL_RCC_SYSCFG_CLK_ENABLE();
+
+  /* System interrupt init*/
+  /* SVC_IRQn interrupt configuration */
+  HAL_NVIC_SetPriority(SVC_IRQn, 0, 0);
+  /* PendSV_IRQn interrupt configuration */
+  HAL_NVIC_SetPriority(PendSV_IRQn, 3, 0);
+  /* SysTick_IRQn interrupt configuration */
+  HAL_NVIC_SetPriority(SysTick_IRQn, 3, 0);
+
+  /* USER CODE BEGIN MspInit 1 */
+
+  /* USER CODE END MspInit 1 */
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 133
soft/.metadata/.plugins/org.eclipse.core.resources/.history/1a/c0fc4a74b900001615c49fd51d2574c3

@@ -1,133 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S7=0,S8=0,S9=0,S10=0,S11=0,S12=0;
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	int i;
-	for (;;) {
-
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_SET);
-		}
-		osDelay(1);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		osDelay(1);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 285 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/2/40b9acf97d3500171025a17b13aa5e23

@@ -0,0 +1,285 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTOS.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void changeheure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		heure=lireRTOS();
+		ecrireEprom(heure);
+		heureChange(heure);
+		osDelay(3000);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 264 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/2/80a4c4bd7b3500171025a17b13aa5e23

@@ -0,0 +1,264 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other
+ *    contributors to this software may be used to endorse or promote products
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under
+ *    this license is void and will automatically terminate your rights under
+ *    this license.
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(20);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+		break;
+	default:
+		break;
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 229 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/22/c041518e823500171025a17b13aa5e23

@@ -0,0 +1,229 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(PollHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table,1);
+			eteint(table,1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i,3);
+			allume(i,3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat){
+	if(Etat == 1){
+		if (table[0]==Etat)
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		if (table[1]==Etat)
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		if (table[2]==Etat)
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		if (table[3]==Etat)
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		if (table[4]==Etat)
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		if (table[5]==Etat)
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		if (table[6]==Etat)
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		if (table[7]==Etat)
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		if (table[8]==Etat)
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		if (table[9]==Etat)
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		if (table[10]==Etat)
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		if (table[11]==Etat)
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+	}
+}
+
+void eteint(int i){
+
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 153 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/29/80e30a91823500171025a17b13aa5e23

@@ -0,0 +1,153 @@
+/**
+  ******************************************************************************
+  * @file    stm32f0xx_hal_timebase_TIM.c 
+  * @brief   HAL time base based on the hardware TIM.
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f0xx_hal.h"
+#include "stm32f0xx_hal_tim.h"
+/** @addtogroup STM32F7xx_HAL_Examples
+  * @{
+  */
+
+/** @addtogroup HAL_TimeBase
+  * @{
+  */ 
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+TIM_HandleTypeDef        htim1; 
+uint32_t                 uwIncrementState = 0;
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/**
+  * @brief  This function configures the TIM1 as a time base source. 
+  *         The time source is configured  to have 1ms time base with a dedicated 
+  *         Tick interrupt priority. 
+  * @note   This function is called  automatically at the beginning of program after
+  *         reset by HAL_Init() or at any time when clock is configured, by HAL_RCC_ClockConfig(). 
+  * @param  TickPriority: Tick interrupt priorty.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
+{
+  RCC_ClkInitTypeDef    clkconfig;
+  uint32_t              uwTimclock = 0;
+  uint32_t              uwPrescalerValue = 0;
+  uint32_t              pFLatency;
+  
+  /*Configure the TIM1 IRQ priority */
+  HAL_NVIC_SetPriority(TIM1_BRK_UP_TRG_COM_IRQn, TickPriority ,0); 
+  
+  /* Enable the TIM1 global Interrupt */
+  HAL_NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn); 
+  
+  /* Enable TIM1 clock */
+  __HAL_RCC_TIM1_CLK_ENABLE();
+  
+  /* Get clock configuration */
+  HAL_RCC_GetClockConfig(&clkconfig, &pFLatency);
+  
+  /* Compute TIM1 clock */
+  uwTimclock = HAL_RCC_GetPCLK1Freq();
+   
+  /* Compute the prescaler value to have TIM1 counter clock equal to 1MHz */
+  uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000) - 1);
+  
+  /* Initialize TIM1 */
+  htim1.Instance = TIM1;
+  
+  /* Initialize TIMx peripheral as follow:
+  + Period = [(TIM1CLK/1000) - 1]. to have a (1/1000) s time base.
+  + Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock.
+  + ClockDivision = 0
+  + Counter direction = Up
+  */
+  htim1.Init.Period = (1000000 / 1000) - 1;
+  htim1.Init.Prescaler = uwPrescalerValue;
+  htim1.Init.ClockDivision = 0;
+  htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
+  if(HAL_TIM_Base_Init(&htim1) == HAL_OK)
+  {
+    /* Start the TIM time Base generation in interrupt mode */
+    return HAL_TIM_Base_Start_IT(&htim1);
+  }
+  
+  /* Return function status */
+  return HAL_ERROR;
+}
+
+/**
+  * @brief  Suspend Tick increment.
+  * @note   Disable the tick increment by disabling TIM1 update interrupt.
+  * @param  None
+  * @retval None
+  */
+void HAL_SuspendTick(void)
+{
+  /* Disable TIM1 update Interrupt */
+  __HAL_TIM_DISABLE_IT(&htim1, TIM_IT_UPDATE);                                                  
+}
+
+/**
+  * @brief  Resume Tick increment.
+  * @note   Enable the tick increment by Enabling TIM1 update interrupt.
+  * @param  None
+  * @retval None
+  */
+void HAL_ResumeTick(void)
+{
+  /* Enable TIM1 Update interrupt */
+  __HAL_TIM_ENABLE_IT(&htim1, TIM_IT_UPDATE);
+}
+
+/**
+  * @}
+  */ 
+
+/**
+  * @}
+  */ 
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 129
soft/.metadata/.plugins/org.eclipse.core.resources/.history/2b/7076b933b200001615c49fd51d2574c3

@@ -1,129 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : freertos.c
-  * Description        : Code for freertos applications
-  ******************************************************************************
-  *
-  * COPYRIGHT(c) 2016 STMicroelectronics
-  *
-  * Redistribution and use in source and binary forms, with or without modification,
-  * are permitted provided that the following conditions are met:
-  *   1. Redistributions of source code must retain the above copyright notice,
-  *      this list of conditions and the following disclaimer.
-  *   2. Redistributions in binary form must reproduce the above copyright notice,
-  *      this list of conditions and the following disclaimer in the documentation
-  *      and/or other materials provided with the distribution.
-  *   3. Neither the name of STMicroelectronics nor the names of its contributors
-  *      may be used to endorse or promote products derived from this software
-  *      without specific prior written permission.
-  *
-  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  *
-  ******************************************************************************
-  */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-
-/* USER CODE BEGIN Includes */     
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-  /* USER CODE BEGIN Init */
-       
-  /* USER CODE END Init */
-
-  /* USER CODE BEGIN RTOS_MUTEX */
-  /* add mutexes, ... */
-  /* USER CODE END RTOS_MUTEX */
-
-  /* USER CODE BEGIN RTOS_SEMAPHORES */
-  /* add semaphores, ... */
-  /* USER CODE END RTOS_SEMAPHORES */
-
-  /* USER CODE BEGIN RTOS_TIMERS */
-  /* start timers, add new ones, ... */
-  /* USER CODE END RTOS_TIMERS */
-
-  /* Create the thread(s) */
-  /* definition and creation of allumage */
-  osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-  allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-  /* definition and creation of pilotage */
-  osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-  pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-  /* USER CODE BEGIN RTOS_THREADS */
-  /* add threads, ... */
-  /* USER CODE END RTOS_THREADS */
-
-  /* USER CODE BEGIN RTOS_QUEUES */
-  /* add queues, ... */
-  /* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument)
-{
-
-  /* USER CODE BEGIN allumageTask */
-  /* Infinite loop */
-  for(;;)
-  {
-    osDelay(1);
-  }
-  /* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument)
-{
-  /* USER CODE BEGIN pilotageTask */
-  /* Infinite loop */
-  for(;;)
-  {
-    osDelay(1);
-  }
-  /* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-     
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 23
soft/.metadata/.plugins/org.eclipse.core.resources/.history/2e/109e98f9b800001615c49fd51d2574c3

@@ -1,23 +0,0 @@
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-#define GPIOS1PIN 	0
-#define GPIOS2PIN	0
-#define GPIOS3PIN	0
-#define GPIOS4PIN	0
-#define GPIOS5PIN	0
-#define GPIOS6PIN	0
-#define GPIOS7PIN	0
-#define GPIOS8PIN	0
-#define GPIOS9PIN	0
-#define GPIOS10PIN	0
-#define GPIOS11PIN	0
-#define GPIOS12PIN	0
-
-GPIO_TypeDef listPort[12]={s1_GPIO_Port, s2_GPIO_Port, s3_GPIO_Port, s4_GPIO_Port, s5_GPIO_Port, s6_GPIO_Port, s7_GPIO_Port, s8_GPIO_Port, s9_GPIO_Port, s10_GPIO_Port,  s11_GPIO_Port, s12_GPIO_Port};
-
-uint16_t listPin[12]={s1_Pin, s2_Pin, s3_Pin, s4_Pin, s5_Pin, s6_Pin, s7_Pin, s8_Pin, s9_Pin, s10_Pin, s11_Pin, s12_Pin};
-
-#endif
-
-

+ 162 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/2e/700191d4783500171025a17b13aa5e23

@@ -0,0 +1,162 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		osMutexWait(myMutex01Handle, 0);
+
+		osMutexWait(myMutex01Handle, 0);
+		osDelay(1);
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;)
+
+	{
+		osDelay(1);
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 27
soft/.metadata/.plugins/org.eclipse.core.resources/.history/2f/d0254acfc100001615c49fd51d2574c3

@@ -1,27 +0,0 @@
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-# include "mxconstants.h"
-#include "stm32f0xx_hal.h"
-
-#define GPIOS1PIN 	0
-#define GPIOS2PIN	0
-#define GPIOS3PIN	0
-#define GPIOS4PIN	0
-#define GPIOS5PIN	0
-#define GPIOS6PIN	0
-#define GPIOS7PIN	0
-#define GPIOS8PIN	0
-#define GPIOS9PIN	0
-#define GPIOS10PIN	0
-#define GPIOS11PIN	0
-#define GPIOS12PIN	0
-
-
-GPIO_TypeDef listPort[12]={s1_GPIO_Port, s2_GPIO_Port, s3_GPIO_Port, s4_GPIO_Port, s5_GPIO_Port, s6_GPIO_Port, s7_GPIO_Port, s8_GPIO_Port, s9_GPIO_Port, s10_GPIO_Port,  s11_GPIO_Port, s12_GPIO_Port};
-
-uint16_t listPin[12]={s1_Pin, s2_Pin, s3_Pin, s4_Pin, s5_Pin, s6_Pin, s7_Pin, s8_Pin, s9_Pin, s10_Pin, s11_Pin, s12_Pin};
-
-#endif
-
-

+ 0 - 26
soft/.metadata/.plugins/org.eclipse.core.resources/.history/33/204a34a3c100001615c49fd51d2574c3

@@ -1,26 +0,0 @@
-/*
- * sortie.h
- *
- *  Created on: 12 avr. 2016
- *      Author: rcluze
- */
-
-#ifndef _SORTIE_H_
-#define _SORTIE_H_
-
-/*fonction qui calcul quelle est le temps a laissé allumé les leds
- * et aussi quelle sont celle qui doivent l'etre ou non
- *
- * param: encours tableau pour savoir quelle sont les leds qui doivent etre piloté
- * param: time temps courant
- * param: temps temps que les leds qui sont piloté doivent rester allumé
- * param pause a savoir si une pause doit etre prise (midi ou nuit)
- *
- */
-void sortie(char *encours,int time,char *temps,char *pause);
-
-
-#endif /* _SORTIE_H_ */
-
-
-

+ 0 - 202
soft/.metadata/.plugins/org.eclipse.core.resources/.history/37/10ae576a16ea0016117fdde678b72230

@@ -1,202 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : main.c
- * Description        : Main program body
- ******************************************************************************
- *
- * COPYRIGHT(c) 2017 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-#include "stm32f0xx_hal.h"
-#include "i2c.h"
-#include "tim.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE BEGIN PV */
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-void SystemClock_Config(void);
-void Error_Handler(void);
-
-/* USER CODE BEGIN PFP */
-/* Private function prototypes -----------------------------------------------*/
-
-/* USER CODE END PFP */
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-int main(void) {
-
-	/* USER CODE BEGIN 1 */
-
-	//LES TODO marque les endrois a chang�s
-	/* USER CODE END 1 */
-
-	/* MCU Configuration----------------------------------------------------------*/
-
-	/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
-	HAL_Init();
-
-	/* Configure the system clock */
-	SystemClock_Config();
-
-	/* Initialize all configured peripherals */
-	MX_GPIO_Init();
-	MX_I2C1_Init();
-	MX_TIM6_Init();
-	MX_TIM14_Init();
-	MX_TIM16_Init();
-
-	/* USER CODE BEGIN 2 */
-	int heure = lireHeure(); //on initialise l'heure grace a la 	fonction de lecture de l\'heure sur la RTC.
-	char nouvelleHeure = 1; //Variable qui sert à savoir si on est passe à une nouvelle heure. Initialise à 1 car au demarage du programme rien est initialise.
-	char change = 0;//Variable qui sert à savoir si une des sortie est dans un état non stable.
-	char tableSortie[10];//Variable qui sert à savoir quelle sont les états des sortie.
-	char t3min = 0;	//Variable qui sert à savoir si on a passé 3min depuis la derniere fois que l'on a augménté le timer 3
-	char Xms = 0;			//Variable qui sert au temps du timer 3
-
-	/* USER CODE END 2 */
-
-	/* Infinite loop */
-	/* USER CODE BEGIN WHILE */
-	demarreTimer1();
-	while (1) {
-		/* USER CODE END WHILE */
-
-		/* USER CODE BEGIN 3 */
-
-	}
-	/* USER CODE END 3 */
-
-}
-
-/** System Clock Configuration
- */
-void SystemClock_Config(void) {
-
-	RCC_OscInitTypeDef RCC_OscInitStruct;
-	RCC_ClkInitTypeDef RCC_ClkInitStruct;
-	RCC_PeriphCLKInitTypeDef PeriphClkInit;
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
-	RCC_OscInitStruct.HSIState = RCC_HSI_ON;
-	RCC_OscInitStruct.HSICalibrationValue = 16;
-	RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
-	if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
-			| RCC_CLOCKTYPE_PCLK1;
-	RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
-	RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
-	RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
-
-	if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {
-		Error_Handler();
-	}
-
-	PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
-	PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
-	if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Configure the Systick interrupt time
-	 */
-	HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000);
-
-	/**Configure the Systick
-	 */
-	HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
-
-	/* SysTick_IRQn interrupt configuration */
-	HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
-}
-
-/* USER CODE BEGIN 4 */
-
-/* USER CODE END 4 */
-
-/**
- * @brief  This function is executed in case of error occurrence.
- * @param  None
- * @retval None
- */
-void Error_Handler(void) {
-	/* USER CODE BEGIN Error_Handler */
-	/* User can add his own implementation to report the HAL error return state */
-	while (1) {
-	}
-	/* USER CODE END Error_Handler */
-}
-
-#ifdef USE_FULL_ASSERT
-
-/**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
-void assert_failed(uint8_t* file, uint32_t line)
-{
-	/* USER CODE BEGIN 6 */
-	/* User can add his own implementation to report the file name and line number,
-	 ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
-	/* USER CODE END 6 */
-
-}
-
-#endif
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 275 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/39/d06788d67c3500171025a17b13aa5e23

@@ -0,0 +1,275 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 282 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/3b/10a5ea98803500171025a17b13aa5e23

@@ -0,0 +1,282 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(PollHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table,1);
+			eteint(table,1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i,3);
+			allume(i,3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 225 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/3d/70c949837b3500171025a17b13aa5e23

@@ -0,0 +1,225 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other
+ *    contributors to this software may be used to endorse or promote products
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under
+ *    this license is void and will automatically terminate your rights under
+ *    this license.
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 290 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/3f/e0e190387e3500171025a17b13aa5e23

@@ -0,0 +1,290 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTOS.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void changeheure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(changementHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 251 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/41/d0a622a2823500171025a17b13aa5e23

@@ -0,0 +1,251 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12]; //tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of m_table */
+	osMutexDef(m_table);
+	m_tableHandle = osMutexCreate(osMutex(m_table));
+
+	/* definition and creation of m_change */
+	osMutexDef(m_change);
+	m_changeHandle = osMutexCreate(osMutex(m_change));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure = lireRTOS();
+
+		ecrireEprom(heure);
+		if (PollHeure(heure, ancienheure)) {
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table, 1);
+			eteint(table, 1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i, 3);
+			allume(i, 3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat) {
+	if (Etat == 1) {
+		if (table[0] == Etat)
+			HAL_GPIO_WritePin(S1_GPIO_Port, S1_Pin, GPIO_PIN_SET);
+		if (table[1] == Etat)
+			HAL_GPIO_WritePin(S2_GPIO_Port, S2_Pin, GPIO_PIN_SET);
+		if (table[2] == Etat)
+			HAL_GPIO_WritePin(S3_GPIO_Port, S3_Pin, GPIO_PIN_SET);
+		if (table[3] == Etat)
+			HAL_GPIO_WritePin(S4_GPIO_Port, S4_Pin, GPIO_PIN_SET);
+		if (table[4] == Etat)
+			HAL_GPIO_WritePin(S5_GPIO_Port, S5_Pin, GPIO_PIN_SET);
+		if (table[5] == Etat)
+			HAL_GPIO_WritePin(S6_GPIO_Port, S6_Pin, GPIO_PIN_SET);
+		if (table[6] == Etat)
+			HAL_GPIO_WritePin(S7_GPIO_Port, S7_Pin, GPIO_PIN_SET);
+		if (table[7] == Etat)
+			HAL_GPIO_WritePin(S8_GPIO_Port, S8_Pin, GPIO_PIN_SET);
+		if (table[8] == Etat)
+			HAL_GPIO_WritePin(S9_GPIO_Port, S9_Pin, GPIO_PIN_SET);
+		if (table[9] == Etat)
+			HAL_GPIO_WritePin(S10_GPIO_Port, S10_Pin, GPIO_PIN_SET);
+		if (table[10] == Etat)
+			HAL_GPIO_WritePin(S11_GPIO_Port, S11_Pin, GPIO_PIN_SET);
+		if (table[11] == Etat)
+			HAL_GPIO_WritePin(S12_GPIO_Port, S12_Pin, GPIO_PIN_SET);
+	}
+}
+
+void eteint(int i, int Etat) {
+if(Etat == 1) {
+	if (table[0]==Etat)
+	HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+	if (table[1]==Etat)
+	HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+	if (table[2]==Etat)
+	HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+	if (table[3]==Etat)
+	HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+	if (table[4]==Etat)
+	HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+	if (table[5]==Etat)
+	HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+	if (table[6]==Etat)
+	HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+	if (table[7]==Etat)
+	HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+	if (table[8]==Etat)
+	HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+	if (table[9]==Etat)
+	HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+	if (table[10]==Etat)
+	HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+	if (table[11]==Etat)
+	HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 26
soft/.metadata/.plugins/org.eclipse.core.resources/.history/4a/e0df5fc3c000001615c49fd51d2574c3

@@ -1,26 +0,0 @@
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-# include "mxconstants.h"
-#include "stm32f0xx_hal.h"
-
-#define GPIOS1PIN 	0
-#define GPIOS2PIN	0
-#define GPIOS3PIN	0
-#define GPIOS4PIN	0
-#define GPIOS5PIN	0
-#define GPIOS6PIN	0
-#define GPIOS7PIN	0
-#define GPIOS8PIN	0
-#define GPIOS9PIN	0
-#define GPIOS10PIN	0
-#define GPIOS11PIN	0
-#define GPIOS12PIN	0
-
-GPIO_TypeDef listPort[12]={s1_GPIO_Port, s2_GPIO_Port, s3_GPIO_Port, s4_GPIO_Port, s5_GPIO_Port, s6_GPIO_Port, s7_GPIO_Port, s8_GPIO_Port, s9_GPIO_Port, s10_GPIO_Port,  s11_GPIO_Port, s12_GPIO_Port};
-
-uint16_t listPin[12]={s1_Pin, s2_Pin, s3_Pin, s4_Pin, s5_Pin, s6_Pin, s7_Pin, s8_Pin, s9_Pin, s10_Pin, s11_Pin, s12_Pin};
-
-#endif
-
-

+ 0 - 128
soft/.metadata/.plugins/org.eclipse.core.resources/.history/4b/c077c035b700001615c49fd51d2574c3

@@ -1,128 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S7=0,S8=0,S9=0,S10=0,S11=0,S12=0;
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	for (;;) {
-
-		osDelay(1);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		osDelay(1);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 87 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/4b/d0f0bebb783500171025a17b13aa5e23

@@ -0,0 +1,87 @@
+/**
+  ******************************************************************************
+  * File Name          : stm32f0xx_hal_msp.c
+  * Description        : This file provides code for the MSP Initialization 
+  *                      and de-Initialization codes.
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f0xx_hal.h"
+
+extern void Error_Handler(void);
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+/**
+  * Initializes the Global MSP.
+  */
+void HAL_MspInit(void)
+{
+  /* USER CODE BEGIN MspInit 0 */
+
+  /* USER CODE END MspInit 0 */
+
+  __HAL_RCC_SYSCFG_CLK_ENABLE();
+
+  /* System interrupt init*/
+  /* SVC_IRQn interrupt configuration */
+  HAL_NVIC_SetPriority(SVC_IRQn, 0, 0);
+  /* PendSV_IRQn interrupt configuration */
+  HAL_NVIC_SetPriority(PendSV_IRQn, 3, 0);
+  /* SysTick_IRQn interrupt configuration */
+  HAL_NVIC_SetPriority(SysTick_IRQn, 3, 0);
+
+  /* USER CODE BEGIN MspInit 1 */
+
+  /* USER CODE END MspInit 1 */
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 17
soft/.metadata/.plugins/org.eclipse.core.resources/.history/4c/f07bd728b500001615c49fd51d2574c3

@@ -1,17 +0,0 @@
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-#define GPIOS1PIN 	0
-#define GPIOS2PIN	0
-#define GPIOS3PIN	0
-#define GPIOS4PIN	0
-#define GPIOS5PIN	0
-#define GPIOS6PIN	0
-#define GPIOS7PIN	0
-#define GPIOS8PIN	0
-#define GPIOS9PIN	0
-#define GPIOS10PIN	0
-#define GPIOS11PIN	0
-#define GPIOS11PIN	0
-
-#endif

+ 0 - 121
soft/.metadata/.plugins/org.eclipse.core.resources/.history/4d/f036574fc200001615c49fd51d2574c3

@@ -1,121 +0,0 @@
-#include "sortie.h"
-
-void sortie(char *encours,int time,char *temps,char *pause){
-	int heure=timeheure;
-	int nbsec=timemin*timesec;
-
-	switch(heure){
-	case 9:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 10:
-		encours[0]=0;
-		encours[1]=1;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 11:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=1;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 12:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 19:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=1;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 20:
-		encours[0]=0;
-		encours[1]=1;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 21:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 22:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	}
-}

+ 276 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/4f/f02b6ef37c3500171025a17b13aa5e23

@@ -0,0 +1,276 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+
+		osDelay(3000);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 251 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/5/505edca6823500171025a17b13aa5e23

@@ -0,0 +1,251 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12]; //tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of m_table */
+	osMutexDef(m_table);
+	m_tableHandle = osMutexCreate(osMutex(m_table));
+
+	/* definition and creation of m_change */
+	osMutexDef(m_change);
+	m_changeHandle = osMutexCreate(osMutex(m_change));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure = lireRTOS();
+
+		ecrireEprom(heure);
+		if (PollHeure(heure, ancienheure)) {
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table, 1);
+			eteint(table, 1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i, 3);
+			allume(i, 3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat) {
+	if (Etat == 1) {
+		if (table[0] == Etat)
+			HAL_GPIO_WritePin(S1_GPIO_Port, S1_Pin, GPIO_PIN_SET);
+		if (table[1] == Etat)
+			HAL_GPIO_WritePin(S2_GPIO_Port, S2_Pin, GPIO_PIN_SET);
+		if (table[2] == Etat)
+			HAL_GPIO_WritePin(S3_GPIO_Port, S3_Pin, GPIO_PIN_SET);
+		if (table[3] == Etat)
+			HAL_GPIO_WritePin(S4_GPIO_Port, S4_Pin, GPIO_PIN_SET);
+		if (table[4] == Etat)
+			HAL_GPIO_WritePin(S5_GPIO_Port, S5_Pin, GPIO_PIN_SET);
+		if (table[5] == Etat)
+			HAL_GPIO_WritePin(S6_GPIO_Port, S6_Pin, GPIO_PIN_SET);
+		if (table[6] == Etat)
+			HAL_GPIO_WritePin(S7_GPIO_Port, S7_Pin, GPIO_PIN_SET);
+		if (table[7] == Etat)
+			HAL_GPIO_WritePin(S8_GPIO_Port, S8_Pin, GPIO_PIN_SET);
+		if (table[8] == Etat)
+			HAL_GPIO_WritePin(S9_GPIO_Port, S9_Pin, GPIO_PIN_SET);
+		if (table[9] == Etat)
+			HAL_GPIO_WritePin(S10_GPIO_Port, S10_Pin, GPIO_PIN_SET);
+		if (table[10] == Etat)
+			HAL_GPIO_WritePin(S11_GPIO_Port, S11_Pin, GPIO_PIN_SET);
+		if (table[11] == Etat)
+			HAL_GPIO_WritePin(S12_GPIO_Port, S12_Pin, GPIO_PIN_SET);
+	}
+}
+
+void eteint(int i, int Etat) {
+if(Etat == 1) {
+	if (table[0]==Etat)
+	HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+	if (table[1]==Etat)
+	HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+	if (table[2]==Etat)
+	HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+	if (table[3]==Etat)
+	HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+	if (table[4]==Etat)
+	HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+	if (table[5]==Etat)
+	HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+	if (table[6]==Etat)
+	HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+	if (table[7]==Etat)
+	HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+	if (table[8]==Etat)
+	HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+	if (table[9]==Etat)
+	HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+	if (table[10]==Etat)
+	HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+	if (table[11]==Etat)
+	HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 153 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/53/d086a6bb783500171025a17b13aa5e23

@@ -0,0 +1,153 @@
+/**
+  ******************************************************************************
+  * @file    stm32f0xx_hal_timebase_TIM.c 
+  * @brief   HAL time base based on the hardware TIM.
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f0xx_hal.h"
+#include "stm32f0xx_hal_tim.h"
+/** @addtogroup STM32F7xx_HAL_Examples
+  * @{
+  */
+
+/** @addtogroup HAL_TimeBase
+  * @{
+  */ 
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+TIM_HandleTypeDef        htim1; 
+uint32_t                 uwIncrementState = 0;
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/**
+  * @brief  This function configures the TIM1 as a time base source. 
+  *         The time source is configured  to have 1ms time base with a dedicated 
+  *         Tick interrupt priority. 
+  * @note   This function is called  automatically at the beginning of program after
+  *         reset by HAL_Init() or at any time when clock is configured, by HAL_RCC_ClockConfig(). 
+  * @param  TickPriority: Tick interrupt priorty.
+  * @retval HAL status
+  */
+HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
+{
+  RCC_ClkInitTypeDef    clkconfig;
+  uint32_t              uwTimclock = 0;
+  uint32_t              uwPrescalerValue = 0;
+  uint32_t              pFLatency;
+  
+  /*Configure the TIM1 IRQ priority */
+  HAL_NVIC_SetPriority(TIM1_BRK_UP_TRG_COM_IRQn, TickPriority ,0); 
+  
+  /* Enable the TIM1 global Interrupt */
+  HAL_NVIC_EnableIRQ(TIM1_BRK_UP_TRG_COM_IRQn); 
+  
+  /* Enable TIM1 clock */
+  __HAL_RCC_TIM1_CLK_ENABLE();
+  
+  /* Get clock configuration */
+  HAL_RCC_GetClockConfig(&clkconfig, &pFLatency);
+  
+  /* Compute TIM1 clock */
+  uwTimclock = HAL_RCC_GetPCLK1Freq();
+   
+  /* Compute the prescaler value to have TIM1 counter clock equal to 1MHz */
+  uwPrescalerValue = (uint32_t) ((uwTimclock / 1000000) - 1);
+  
+  /* Initialize TIM1 */
+  htim1.Instance = TIM1;
+  
+  /* Initialize TIMx peripheral as follow:
+  + Period = [(TIM1CLK/1000) - 1]. to have a (1/1000) s time base.
+  + Prescaler = (uwTimclock/1000000 - 1) to have a 1MHz counter clock.
+  + ClockDivision = 0
+  + Counter direction = Up
+  */
+  htim1.Init.Period = (1000000 / 1000) - 1;
+  htim1.Init.Prescaler = uwPrescalerValue;
+  htim1.Init.ClockDivision = 0;
+  htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
+  if(HAL_TIM_Base_Init(&htim1) == HAL_OK)
+  {
+    /* Start the TIM time Base generation in interrupt mode */
+    return HAL_TIM_Base_Start_IT(&htim1);
+  }
+  
+  /* Return function status */
+  return HAL_ERROR;
+}
+
+/**
+  * @brief  Suspend Tick increment.
+  * @note   Disable the tick increment by disabling TIM1 update interrupt.
+  * @param  None
+  * @retval None
+  */
+void HAL_SuspendTick(void)
+{
+  /* Disable TIM1 update Interrupt */
+  __HAL_TIM_DISABLE_IT(&htim1, TIM_IT_UPDATE);                                                  
+}
+
+/**
+  * @brief  Resume Tick increment.
+  * @note   Enable the tick increment by Enabling TIM1 update interrupt.
+  * @param  None
+  * @retval None
+  */
+void HAL_ResumeTick(void)
+{
+  /* Enable TIM1 Update interrupt */
+  __HAL_TIM_ENABLE_IT(&htim1, TIM_IT_UPDATE);
+}
+
+/**
+  * @}
+  */ 
+
+/**
+  * @}
+  */ 
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 233 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/55/804f1363823500171025a17b13aa5e23

@@ -0,0 +1,233 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(PollHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table,1);
+			eteint(table,1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i,3);
+			allume(i,3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat){
+	if(Etat == 1){
+		if (table[0]==1)
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		if (table[1]==1)
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		if (table[2]==1)
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		if (table[3]==1)
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		if (table[4]==1)
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		if (table[5]==1)
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		if (table[6]==1)
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		if (table[7]==1)
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		if (table[8]==1)
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		if (table[9]==1)
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		if (table[10]==1)
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		if (table[11]==1)
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+	}
+	else if (Etat == 3){
+
+	}
+
+}
+
+void eteint(int i){
+
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 218
soft/.metadata/.plugins/org.eclipse.core.resources/.history/5a/f0da4dc616ea0016117fdde678b72230

@@ -1,218 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : main.c
- * Description        : Main program body
- ******************************************************************************
- *
- * COPYRIGHT(c) 2017 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-#include "stm32f0xx_hal.h"
-#include "i2c.h"
-#include "tim.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-#include "rtc.h"
-#include "sortie.h"
-/* USER CODE END Includes */
-
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE BEGIN PV */
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-void SystemClock_Config(void);
-void Error_Handler(void);
-
-/* USER CODE BEGIN PFP */
-/* Private function prototypes -----------------------------------------------*/
-
-/* USER CODE END PFP */
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-int main(void) {
-
-	/* USER CODE BEGIN 1 */
-
-	//LES TODO marque les endrois a chang�s
-	/* USER CODE END 1 */
-
-	/* MCU Configuration----------------------------------------------------------*/
-
-	/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
-	HAL_Init();
-
-	/* Configure the system clock */
-	SystemClock_Config();
-
-	/* Initialize all configured peripherals */
-	MX_GPIO_Init();
-	MX_I2C1_Init();
-	MX_TIM6_Init();
-	MX_TIM14_Init();
-	MX_TIM16_Init();
-
-	/* USER CODE BEGIN 2 */
-	int heure = lireHeure(); //on initialise l'heure grace a la 	fonction de lecture de l\'heure sur la RTC.
-	char nouvelleHeure = 1; //Variable qui sert à savoir si on est passe à une nouvelle heure. Initialise à 1 car au demarage du programme rien est initialise.
-	char change = 0;//Variable qui sert à savoir si une des sortie est dans un état non stable.
-	char tableSortie[10];//Variable qui sert à savoir quelle sont les états des sortie.
-	char t3min = 0;	//Variable qui sert à savoir si on a passé 3min depuis la derniere fois que l'on a augménté le timer 3
-	char Xms = 0;			//Variable qui sert au temps du timer 3
-
-	/* USER CODE END 2 */
-
-	/* Infinite loop */
-	/* USER CODE BEGIN WHILE */
-	demarreTimer1();
-	while (1) {
-		/* USER CODE END WHILE */
-		if (nouvelleHeure) {
-			nouvelleHeure = 0;
-			Xms = 0;
-			lireSortie(heure,tableSortie);
-			change =change(tableSortie);
-			if (change)
-				demarreTimer2();
-			else
-				eteindreTimer2();
-		}
-		if (change){
-			if (t3min)
-				Xms = Xms + 1 ;
-		}
-		sleep(65);// On dort 65 ms pour pas toujour etre actif
-		/* USER CODE BEGIN 3 */
-
-	}
-	/* USER CODE END 3 */
-
-}
-
-/** System Clock Configuration
- */
-void SystemClock_Config(void) {
-
-	RCC_OscInitTypeDef RCC_OscInitStruct;
-	RCC_ClkInitTypeDef RCC_ClkInitStruct;
-	RCC_PeriphCLKInitTypeDef PeriphClkInit;
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
-	RCC_OscInitStruct.HSIState = RCC_HSI_ON;
-	RCC_OscInitStruct.HSICalibrationValue = 16;
-	RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
-	if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
-			| RCC_CLOCKTYPE_PCLK1;
-	RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
-	RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
-	RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
-
-	if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {
-		Error_Handler();
-	}
-
-	PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
-	PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
-	if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Configure the Systick interrupt time
-	 */
-	HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000);
-
-	/**Configure the Systick
-	 */
-	HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
-
-	/* SysTick_IRQn interrupt configuration */
-	HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
-}
-
-/* USER CODE BEGIN 4 */
-
-/* USER CODE END 4 */
-
-/**
- * @brief  This function is executed in case of error occurrence.
- * @param  None
- * @retval None
- */
-void Error_Handler(void) {
-	/* USER CODE BEGIN Error_Handler */
-	/* User can add his own implementation to report the HAL error return state */
-	while (1) {
-	}
-	/* USER CODE END Error_Handler */
-}
-
-#ifdef USE_FULL_ASSERT
-
-/**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
-void assert_failed(uint8_t* file, uint32_t line)
-{
-	/* USER CODE BEGIN 6 */
-	/* User can add his own implementation to report the file name and line number,
-	 ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
-	/* USER CODE END 6 */
-
-}
-
-#endif
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 288 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/5b/90ff1b267e3500171025a17b13aa5e23

@@ -0,0 +1,288 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTOS.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void changeheure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		heureChange(heure, ancienheure);
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 210
soft/.metadata/.plugins/org.eclipse.core.resources/.history/5c/307e3d5d16ea0016117fdde678b72230

@@ -1,210 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : main.c
-  * Description        : Main program body
-  ******************************************************************************
-  *
-  * COPYRIGHT(c) 2017 STMicroelectronics
-  *
-  * Redistribution and use in source and binary forms, with or without modification,
-  * are permitted provided that the following conditions are met:
-  *   1. Redistributions of source code must retain the above copyright notice,
-  *      this list of conditions and the following disclaimer.
-  *   2. Redistributions in binary form must reproduce the above copyright notice,
-  *      this list of conditions and the following disclaimer in the documentation
-  *      and/or other materials provided with the distribution.
-  *   3. Neither the name of STMicroelectronics nor the names of its contributors
-  *      may be used to endorse or promote products derived from this software
-  *      without specific prior written permission.
-  *
-  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  *
-  ******************************************************************************
-  */
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-#include "stm32f0xx_hal.h"
-#include "i2c.h"
-#include "tim.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE BEGIN PV */
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-void SystemClock_Config(void);
-void Error_Handler(void);
-
-/* USER CODE BEGIN PFP */
-/* Private function prototypes -----------------------------------------------*/
-
-/* USER CODE END PFP */
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-int main(void)
-{
-
-  /* USER CODE BEGIN 1 */
-
-	//LES TODO marque les endrois a chang�s
-  /* USER CODE END 1 */
-
-  /* MCU Configuration----------------------------------------------------------*/
-
-  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
-  HAL_Init();
-
-  /* Configure the system clock */
-  SystemClock_Config();
-
-  /* Initialize all configured peripherals */
-  MX_GPIO_Init();
-  MX_I2C1_Init();
-  MX_TIM6_Init();
-  MX_TIM14_Init();
-  MX_TIM16_Init();
-
-  /* USER CODE BEGIN 2 */
-	int heure = lireHeure(); //on initialise l'heure grace a la 	fonction de lecture de l\'heure sur la RTC.
-	char nouvelleHeure = 1; 	//Variable qui sert à savoir si on est passe à une nouvelle heure. Initialise à 1 car au demarage du programme rien est initialise.
-	char change = 0;			//Variable qui sert à savoir si une des sortie est dans un état non stable.
-	char tableSortie[10];	//Variable qui sert à savoir quelle sont les états des sortie.
-	char t3min = 0;			//Variable qui sert à savoir si on a passé 3min depuis la derniere fois que l'on a augménté le timer 3
-	char Xms = 0;			//Variable qui sert au temps du timer 3
-
-	/* USER CODE END 2 */
-
-  /* Infinite loop */
-  /* USER CODE BEGIN WHILE */
-	demarreTimer1();
-	while (1)
-  {
-  /* USER CODE END WHILE */
-
-  /* USER CODE BEGIN 3 */
-
-  }
-  /* USER CODE END 3 */
-
-}
-
-/** System Clock Configuration
-*/
-void SystemClock_Config(void)
-{
-
-  RCC_OscInitTypeDef RCC_OscInitStruct;
-  RCC_ClkInitTypeDef RCC_ClkInitStruct;
-  RCC_PeriphCLKInitTypeDef PeriphClkInit;
-
-    /**Initializes the CPU, AHB and APB busses clocks 
-    */
-  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
-  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
-  RCC_OscInitStruct.HSICalibrationValue = 16;
-  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
-  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
-  {
-    Error_Handler();
-  }
-
-    /**Initializes the CPU, AHB and APB busses clocks 
-    */
-  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
-                              |RCC_CLOCKTYPE_PCLK1;
-  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
-  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
-  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
-
-  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
-  {
-    Error_Handler();
-  }
-
-  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
-  PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
-  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
-  {
-    Error_Handler();
-  }
-
-    /**Configure the Systick interrupt time 
-    */
-  HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
-
-    /**Configure the Systick 
-    */
-  HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
-
-  /* SysTick_IRQn interrupt configuration */
-  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
-}
-
-/* USER CODE BEGIN 4 */
-
-/* USER CODE END 4 */
-
-/**
-  * @brief  This function is executed in case of error occurrence.
-  * @param  None
-  * @retval None
-  */
-void Error_Handler(void)
-{
-  /* USER CODE BEGIN Error_Handler */
-  /* User can add his own implementation to report the HAL error return state */
-  while(1) 
-  {
-  }
-  /* USER CODE END Error_Handler */ 
-}
-
-#ifdef USE_FULL_ASSERT
-
-/**
-   * @brief Reports the name of the source file and the source line number
-   * where the assert_param error has occurred.
-   * @param file: pointer to the source file name
-   * @param line: assert_param error line source number
-   * @retval None
-   */
-void assert_failed(uint8_t* file, uint32_t line)
-{
-  /* USER CODE BEGIN 6 */
-  /* User can add his own implementation to report the file name and line number,
-    ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
-  /* USER CODE END 6 */
-
-}
-
-#endif
-
-/**
-  * @}
-  */ 
-
-/**
-  * @}
-*/ 
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 33 - 14
soft/.metadata/.plugins/org.eclipse.core.resources/.history/54/3016ac7817ea0016117fdde678b72230 → soft/.metadata/.plugins/org.eclipse.core.resources/.history/5f/30192091823500171025a17b13aa5e23

@@ -34,6 +34,7 @@
 #include "stm32f0xx_hal.h"
 #include "stm32f0xx.h"
 #include "stm32f0xx_it.h"
+#include "cmsis_os.h"
 
 /* USER CODE BEGIN 0 */
 
@@ -41,34 +42,39 @@
 
 /* External variables --------------------------------------------------------*/
 
+extern TIM_HandleTypeDef htim1;
+
 /******************************************************************************/
 /*            Cortex-M0 Processor Interruption and Exception Handlers         */ 
 /******************************************************************************/
 
 /**
-* @brief This function handles System service call via SWI instruction.
+* @brief This function handles Non maskable interrupt.
 */
-void SVC_Handler(void)
+void NMI_Handler(void)
 {
-  /* USER CODE BEGIN SVC_IRQn 0 */
+  /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
 
-  /* USER CODE END SVC_IRQn 0 */
-  /* USER CODE BEGIN SVC_IRQn 1 */
+  /* USER CODE END NonMaskableInt_IRQn 0 */
+  /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
 
-  /* USER CODE END SVC_IRQn 1 */
+  /* USER CODE END NonMaskableInt_IRQn 1 */
 }
 
 /**
-* @brief This function handles Pendable request for system service.
+* @brief This function handles Hard fault interrupt.
 */
-void PendSV_Handler(void)
+void HardFault_Handler(void)
 {
-  /* USER CODE BEGIN PendSV_IRQn 0 */
+  /* USER CODE BEGIN HardFault_IRQn 0 */
 
-  /* USER CODE END PendSV_IRQn 0 */
-  /* USER CODE BEGIN PendSV_IRQn 1 */
+  /* USER CODE END HardFault_IRQn 0 */
+  while (1)
+  {
+  }
+  /* USER CODE BEGIN HardFault_IRQn 1 */
 
-  /* USER CODE END PendSV_IRQn 1 */
+  /* USER CODE END HardFault_IRQn 1 */
 }
 
 /**
@@ -79,8 +85,7 @@ void SysTick_Handler(void)
   /* USER CODE BEGIN SysTick_IRQn 0 */
 
   /* USER CODE END SysTick_IRQn 0 */
-  HAL_IncTick();
-  HAL_SYSTICK_IRQHandler();
+  osSystickHandler();
   /* USER CODE BEGIN SysTick_IRQn 1 */
 
   /* USER CODE END SysTick_IRQn 1 */
@@ -93,6 +98,20 @@ void SysTick_Handler(void)
 /* please refer to the startup file (startup_stm32f0xx.s).                    */
 /******************************************************************************/
 
+/**
+* @brief This function handles TIM1 break, update, trigger and commutation interrupts.
+*/
+void TIM1_BRK_UP_TRG_COM_IRQHandler(void)
+{
+  /* USER CODE BEGIN TIM1_BRK_UP_TRG_COM_IRQn 0 */
+
+  /* USER CODE END TIM1_BRK_UP_TRG_COM_IRQn 0 */
+  HAL_TIM_IRQHandler(&htim1);
+  /* USER CODE BEGIN TIM1_BRK_UP_TRG_COM_IRQn 1 */
+
+  /* USER CODE END TIM1_BRK_UP_TRG_COM_IRQn 1 */
+}
+
 /* USER CODE BEGIN 1 */
 
 /* USER CODE END 1 */

+ 0 - 28
soft/.metadata/.plugins/org.eclipse.core.resources/.history/5f/809fe856c200001615c49fd51d2574c3

@@ -1,28 +0,0 @@
-/*
- * sortie.h
- *
- *  Created on: 12 avr. 2016
- *      Author: rcluze
- */
-
-#ifndef _SORTIE_H_
-#define _SORTIE_H_
-
-/*fonction qui calcul quelle est le temps a laissé allumé les leds
- * et aussi quelle sont celle qui doivent l'etre ou non
- *
- * param: encours tableau pour savoir quelle sont les leds qui doivent etre piloté
- * param: time temps courant
- * param: temps temps que les leds qui sont piloté doivent rester allumé
- * param pause a savoir si une pause doit etre prise (midi ou nuit)
- *
- *
- * TODO:ces cette fonction les encours quil faut changé si jamais on veux mettre plus de leds ou moin
- */
-void sortie(char *encours,int time,char *temps,char *pause);
-
-//TODO les pleins on pas été géré encore
-#endif /* _SORTIE_H_ */
-
-
-

+ 251 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/6/20ca06b9823500171025a17b13aa5e23

@@ -0,0 +1,251 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12]; //tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of m_table */
+	osMutexDef(m_table);
+	m_tableHandle = osMutexCreate(osMutex(m_table));
+
+	/* definition and creation of m_change */
+	osMutexDef(m_change);
+	m_changeHandle = osMutexCreate(osMutex(m_change));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure = lireRTOS();
+
+		ecrireEprom(heure);
+		if (PollHeure(heure, ancienheure)) {
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table, 1);
+			eteint(table, 1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i, 3);
+			allume(i, 3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat) {
+	if (Etat == 1) {
+		if (table[0] == Etat)
+			HAL_GPIO_WritePin(S1_GPIO_Port, S1_Pin, GPIO_PIN_SET);
+		if (table[1] == Etat)
+			HAL_GPIO_WritePin(S2_GPIO_Port, S2_Pin, GPIO_PIN_SET);
+		if (table[2] == Etat)
+			HAL_GPIO_WritePin(S3_GPIO_Port, S3_Pin, GPIO_PIN_SET);
+		if (table[3] == Etat)
+			HAL_GPIO_WritePin(S4_GPIO_Port, S4_Pin, GPIO_PIN_SET);
+		if (table[4] == Etat)
+			HAL_GPIO_WritePin(S5_GPIO_Port, S5_Pin, GPIO_PIN_SET);
+		if (table[5] == Etat)
+			HAL_GPIO_WritePin(S6_GPIO_Port, S6_Pin, GPIO_PIN_SET);
+		if (table[6] == Etat)
+			HAL_GPIO_WritePin(S7_GPIO_Port, S7_Pin, GPIO_PIN_SET);
+		if (table[7] == Etat)
+			HAL_GPIO_WritePin(S8_GPIO_Port, S8_Pin, GPIO_PIN_SET);
+		if (table[8] == Etat)
+			HAL_GPIO_WritePin(S9_GPIO_Port, S9_Pin, GPIO_PIN_SET);
+		if (table[9] == Etat)
+			HAL_GPIO_WritePin(S10_GPIO_Port, S10_Pin, GPIO_PIN_SET);
+		if (table[10] == Etat)
+			HAL_GPIO_WritePin(S11_GPIO_Port, S11_Pin, GPIO_PIN_SET);
+		if (table[11] == Etat)
+			HAL_GPIO_WritePin(S12_GPIO_Port, S12_Pin, GPIO_PIN_SET);
+	}
+}
+
+void eteint(int i, int Etat) {
+	if (Etat == 1) {
+		if (table[0] == Etat)
+			HAL_GPIO_WritePin(S1_GPIO_Port, S1_Pin, GPIO_PIN_RESET);
+		if (table[1] == Etat)
+			HAL_GPIO_WritePin(S2_GPIO_Port, S2_Pin, GPIO_PIN_RESET);
+		if (table[2] == Etat)
+			HAL_GPIO_WritePin(S3_GPIO_Port, S3_Pin, GPIO_PIN_RESET);
+		if (table[3] == Etat)
+			HAL_GPIO_WritePin(S4_GPIO_Port, S4_Pin, GPIO_PIN_RESET);
+		if (table[4] == Etat)
+			HAL_GPIO_WritePin(S5_GPIO_Port, S5_Pin, GPIO_PIN_RESET);
+		if (table[5] == Etat)
+			HAL_GPIO_WritePin(S6_GPIO_Port, S6_Pin, GPIO_PIN_RESET);
+		if (table[6] == Etat)
+			HAL_GPIO_WritePin(S7_GPIO_Port, S7_Pin, GPIO_PIN_RESET);
+		if (table[7] == Etat)
+			HAL_GPIO_WritePin(S8_GPIO_Port, S8_Pin, GPIO_PIN_RESET);
+		if (table[8] == Etat)
+			HAL_GPIO_WritePin(S9_GPIO_Port, S9_Pin, GPIO_PIN_RESET);
+		if (table[9] == Etat)
+			HAL_GPIO_WritePin(S10_GPIO_Port, S10_Pin, GPIO_PIN_RESET);
+		if (table[10] == Etat)
+			HAL_GPIO_WritePin(S11_GPIO_Port, S11_Pin, GPIO_PIN_RESET);
+		if (table[11] == Etat)
+			HAL_GPIO_WritePin(S12_GPIO_Port, S12_Pin, GPIO_PIN_RESET);
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 133
soft/.metadata/.plugins/org.eclipse.core.resources/.history/62/6002844fb900001615c49fd51d2574c3

@@ -1,133 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S7=0,S8=0,S9=0,S10=0,S11=0,S12=0;
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	int i;
-	for (;;) {
-
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(listPort[i],listPin[i],GPIO_PIN_SET);
-		}
-		osDelay(1);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		osDelay(1);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 178 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/64/7075099c793500171025a17b13aa5e23

@@ -0,0 +1,178 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 15
soft/.metadata/.plugins/org.eclipse.core.resources/.history/65/709d5a90bf00001615c49fd51d2574c3

@@ -1,15 +0,0 @@
-/*
- * sortie.h
- *
- *  Created on: 12 avr. 2016
- *      Author: rcluze
- */
-
-#ifndef _SORTIE_H_
-#define _SORTIE_H_
-
-
-
-
-
-#endif /* _SORTIE_H_ */

+ 0 - 6
soft/.metadata/.plugins/org.eclipse.core.resources/.history/66/40a9cb96bc00001615c49fd51d2574c3

@@ -1,6 +0,0 @@
-#ifndef _RTC_H_
-#define _RTC_H_
-
-void configRTC();
-
-#endif

+ 0 - 13
soft/.metadata/.plugins/org.eclipse.core.resources/.history/66/805a986abc00001615c49fd51d2574c3

@@ -1,13 +0,0 @@
-/*
- * rtc.h
- *
- *  Created on: 12 avr. 2016
- *      Author: rcluze
- */
-
-#ifndef INCLUDE_RTC_H_
-#define INCLUDE_RTC_H_
-
-
-
-#endif /* INCLUDE_RTC_H_ */

+ 218 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/69/10a256f47a3500171025a17b13aa5e23

@@ -0,0 +1,218 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of myMutex01 */
+  osMutexDef(myMutex01);
+  myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		GPIO_
+		break;
+	case 1:
+		break;
+	case 2:
+		break;
+	case 3:
+		break;
+	case 4:
+		break;
+	case 5:
+		break;
+	case 6:
+		break;
+	case 7:
+		break;
+	case 8:
+		break;
+	case 9:
+		break;
+	case 10:
+		break;
+	case 11:
+		break;
+	case 12:
+		break;
+
+}
+}
+
+void eteint(int i){
+
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 19
soft/.metadata/.plugins/org.eclipse.core.resources/.history/69/e05c234217ea0016117fdde678b72230

@@ -1,19 +0,0 @@
-/*
- * sortie.h
- *
- *  Created on: 12 avr. 2016
- *      Author: rcluze
- */
-
-#ifndef _SORTIE_H_
-#define _SORTIE_H_
-
-
-void lireSortie(heure,tableSortie);
-
-void getChange(tableSortie);
-
-#endif /* _SORTIE_H_ */
-
-
-

+ 268 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/69/e0f8d38f7c3500171025a17b13aa5e23

@@ -0,0 +1,268 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of myMutex01 */
+  osMutexDef(myMutex01);
+  myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 21
soft/.metadata/.plugins/org.eclipse.core.resources/.history/6f/a053e3a5b800001615c49fd51d2574c3

@@ -1,21 +0,0 @@
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-#define GPIOS1PIN 	0
-#define GPIOS2PIN	0
-#define GPIOS3PIN	0
-#define GPIOS4PIN	0
-#define GPIOS5PIN	0
-#define GPIOS6PIN	0
-#define GPIOS7PIN	0
-#define GPIOS8PIN	0
-#define GPIOS9PIN	0
-#define GPIOS10PIN	0
-#define GPIOS11PIN	0
-#define GPIOS12PIN	0
-
-GPIO_TypeDef listPort[12];
-
-uint16_t listPin[12];
-
-#endif

+ 0 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/70/e0abb5c4c000001615c49fd51d2574c3


+ 0 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/5f/10ce1cddb200001615c49fd51d2574c3 → soft/.metadata/.plugins/org.eclipse.core.resources/.history/72/809d2dfa873500171025a17b13aa5e23


+ 290 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/72/b04a8e5c7e3500171025a17b13aa5e23

@@ -0,0 +1,290 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTOS.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void changementHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(changementHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 23
soft/.metadata/.plugins/org.eclipse.core.resources/.history/73/80bc65e9b800001615c49fd51d2574c3

@@ -1,23 +0,0 @@
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-#define GPIOS1PIN 	0
-#define GPIOS2PIN	0
-#define GPIOS3PIN	0
-#define GPIOS4PIN	0
-#define GPIOS5PIN	0
-#define GPIOS6PIN	0
-#define GPIOS7PIN	0
-#define GPIOS8PIN	0
-#define GPIOS9PIN	0
-#define GPIOS10PIN	0
-#define GPIOS11PIN	0
-#define GPIOS12PIN	0
-
-GPIO_TypeDef listPort[]=;
-
-uint16_t listPin=[s1_Pin, s2_Pin, s3_Pin, s4_Pin, s5_Pin, s6_Pin, s7_Pin, s8_Pin, s9_Pin, s10_Pin, s11_Pin, s12_Pin];
-
-#endif
-
-

+ 64 - 43
soft/.metadata/.plugins/org.eclipse.core.resources/.history/af/d005c64316ea0016117fdde678b72230 → soft/.metadata/.plugins/org.eclipse.core.resources/.history/75/0031b3bb783500171025a17b13aa5e23

@@ -4,37 +4,46 @@
   * Description        : Main program body
   ******************************************************************************
   *
-  * COPYRIGHT(c) 2017 STMicroelectronics
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
   *
-  * Redistribution and use in source and binary forms, with or without modification,
-  * are permitted provided that the following conditions are met:
-  *   1. Redistributions of source code must retain the above copyright notice,
-  *      this list of conditions and the following disclaimer.
-  *   2. Redistributions in binary form must reproduce the above copyright notice,
-  *      this list of conditions and the following disclaimer in the documentation
-  *      and/or other materials provided with the distribution.
-  *   3. Neither the name of STMicroelectronics nor the names of its contributors
-  *      may be used to endorse or promote products derived from this software
-  *      without specific prior written permission.
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
   *
-  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   ******************************************************************************
   */
 /* Includes ------------------------------------------------------------------*/
 #include "main.h"
 #include "stm32f0xx_hal.h"
-#include "i2c.h"
-#include "tim.h"
+#include "cmsis_os.h"
 #include "gpio.h"
 
 /* USER CODE BEGIN Includes */
@@ -51,6 +60,7 @@
 /* Private function prototypes -----------------------------------------------*/
 void SystemClock_Config(void);
 void Error_Handler(void);
+void MX_FREERTOS_Init(void);
 
 /* USER CODE BEGIN PFP */
 /* Private function prototypes -----------------------------------------------*/
@@ -66,7 +76,6 @@ int main(void)
 
   /* USER CODE BEGIN 1 */
 
-	//LES TODO marque les endrois a chang�s
   /* USER CODE END 1 */
 
   /* MCU Configuration----------------------------------------------------------*/
@@ -79,20 +88,19 @@ int main(void)
 
   /* Initialize all configured peripherals */
   MX_GPIO_Init();
-  MX_I2C1_Init();
-  MX_TIM6_Init();
-  MX_TIM14_Init();
-  MX_TIM16_Init();
 
   /* USER CODE BEGIN 2 */
-	global int heure = lireHeure(); //on initialise l'heure grace a la 	fonction de lecture de l\'heure sur la RTC.
-	global char nouvelleHeure = 1; 	//Variable qui sert à savoir si on est passe à une nouvelle heure. Initialise à 1 car au demarage du programme rien est initialise. 
-	global char change = 0;			//Variable qui sert à savoir si une des sortie est dans un état non stable.
-	global char tableSortie[10];	//Variable qui sert à savoir quelle sont les états des sortie.
-	global char 3min = 0;			//Variable qui sert à savoir si on a passé 3min depuis la derniere fois que l'on a augménté le timer 3
-	global char Xms = 0;			//Variable qui sert au temps du timer 3
+
   /* USER CODE END 2 */
 
+  /* Call init function for freertos objects (in freertos.c) */
+  MX_FREERTOS_Init();
+
+  /* Start scheduler */
+  osKernelStart();
+  
+  /* We should never get here as control is now taken by the scheduler */
+
   /* Infinite loop */
   /* USER CODE BEGIN WHILE */
   while (1)
@@ -113,7 +121,6 @@ void SystemClock_Config(void)
 
   RCC_OscInitTypeDef RCC_OscInitStruct;
   RCC_ClkInitTypeDef RCC_ClkInitStruct;
-  RCC_PeriphCLKInitTypeDef PeriphClkInit;
 
     /**Initializes the CPU, AHB and APB busses clocks 
     */
@@ -135,13 +142,6 @@ void SystemClock_Config(void)
   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
 
   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
-  {
-    Error_Handler();
-  }
-
-  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
-  PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
-  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
   {
     Error_Handler();
   }
@@ -155,13 +155,34 @@ void SystemClock_Config(void)
   HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
 
   /* SysTick_IRQn interrupt configuration */
-  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
+  HAL_NVIC_SetPriority(SysTick_IRQn, 3, 0);
 }
 
 /* USER CODE BEGIN 4 */
 
 /* USER CODE END 4 */
 
+/**
+  * @brief  Period elapsed callback in non blocking mode
+  * @note   This function is called  when TIM1 interrupt took place, inside
+  * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
+  * a global variable "uwTick" used as application time base.
+  * @param  htim : TIM handle
+  * @retval None
+  */
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
+{
+/* USER CODE BEGIN Callback 0 */
+
+/* USER CODE END Callback 0 */
+  if (htim->Instance == TIM1) {
+    HAL_IncTick();
+  }
+/* USER CODE BEGIN Callback 1 */
+
+/* USER CODE END Callback 1 */
+}
+
 /**
   * @brief  This function is executed in case of error occurrence.
   * @param  None

+ 290 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/75/10b2cb46803500171025a17b13aa5e23

@@ -0,0 +1,290 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTOS.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void changementHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(changementHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 1)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 1)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 275 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/77/f08b94ea7c3500171025a17b13aa5e23

@@ -0,0 +1,275 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(1);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 253 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/7a/40f40291823500171025a17b13aa5e23

@@ -0,0 +1,253 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(PollHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table,1);
+			eteint(table,1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i,3);
+			allume(i,3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat){
+	if(Etat == 1){
+		if (table[0]==Etat)
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		if (table[1]==Etat)
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		if (table[2]==Etat)
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		if (table[3]==Etat)
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		if (table[4]==Etat)
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		if (table[5]==Etat)
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		if (table[6]==Etat)
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		if (table[7]==Etat)
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		if (table[8]==Etat)
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		if (table[9]==Etat)
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		if (table[10]==Etat)
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		if (table[11]==Etat)
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+	}
+}
+
+void eteint(int i, int Etat){
+		if(Etat == 1){
+			if (table[0]==Etat)
+				HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+			if (table[1]==Etat)
+				HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+			if (table[2]==Etat)
+				HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+			if (table[3]==Etat)
+				HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+			if (table[4]==Etat)
+				HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+			if (table[5]==Etat)
+				HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+			if (table[6]==Etat)
+				HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+			if (table[7]==Etat)
+				HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+			if (table[8]==Etat)
+				HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+			if (table[9]==Etat)
+				HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+			if (table[10]==Etat)
+				HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+			if (table[11]==Etat)
+				HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 218
soft/.metadata/.plugins/org.eclipse.core.resources/.history/7c/404391ac16ea0016117fdde678b72230

@@ -1,218 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : main.c
- * Description        : Main program body
- ******************************************************************************
- *
- * COPYRIGHT(c) 2017 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-#include "stm32f0xx_hal.h"
-#include "i2c.h"
-#include "tim.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-#include "rtc.h"
-#include
-/* USER CODE END Includes */
-
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE BEGIN PV */
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-void SystemClock_Config(void);
-void Error_Handler(void);
-
-/* USER CODE BEGIN PFP */
-/* Private function prototypes -----------------------------------------------*/
-
-/* USER CODE END PFP */
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-int main(void) {
-
-	/* USER CODE BEGIN 1 */
-
-	//LES TODO marque les endrois a chang�s
-	/* USER CODE END 1 */
-
-	/* MCU Configuration----------------------------------------------------------*/
-
-	/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
-	HAL_Init();
-
-	/* Configure the system clock */
-	SystemClock_Config();
-
-	/* Initialize all configured peripherals */
-	MX_GPIO_Init();
-	MX_I2C1_Init();
-	MX_TIM6_Init();
-	MX_TIM14_Init();
-	MX_TIM16_Init();
-
-	/* USER CODE BEGIN 2 */
-	int heure = lireHeure(); //on initialise l'heure grace a la 	fonction de lecture de l\'heure sur la RTC.
-	char nouvelleHeure = 1; //Variable qui sert à savoir si on est passe à une nouvelle heure. Initialise à 1 car au demarage du programme rien est initialise.
-	char change = 0;//Variable qui sert à savoir si une des sortie est dans un état non stable.
-	char tableSortie[10];//Variable qui sert à savoir quelle sont les états des sortie.
-	char t3min = 0;	//Variable qui sert à savoir si on a passé 3min depuis la derniere fois que l'on a augménté le timer 3
-	char Xms = 0;			//Variable qui sert au temps du timer 3
-
-	/* USER CODE END 2 */
-
-	/* Infinite loop */
-	/* USER CODE BEGIN WHILE */
-	demarreTimer1();
-	while (1) {
-		/* USER CODE END WHILE */
-		if (nouvelleHeure) {
-			nouvelleHeure = 0;
-			Xms = 0;
-			lireSortie(heure,tableSortie);
-			change =change(tableSortie);
-			if (change)
-				demarreTimer2();
-			else
-				eteindreTimer2();
-		}
-		if (change){
-			if (t3min)
-				Xms = Xms + 1 ;
-		}
-		sleep(65);// On dort 65 ms pour pas toujour etre actif
-		/* USER CODE BEGIN 3 */
-
-	}
-	/* USER CODE END 3 */
-
-}
-
-/** System Clock Configuration
- */
-void SystemClock_Config(void) {
-
-	RCC_OscInitTypeDef RCC_OscInitStruct;
-	RCC_ClkInitTypeDef RCC_ClkInitStruct;
-	RCC_PeriphCLKInitTypeDef PeriphClkInit;
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
-	RCC_OscInitStruct.HSIState = RCC_HSI_ON;
-	RCC_OscInitStruct.HSICalibrationValue = 16;
-	RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
-	if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
-			| RCC_CLOCKTYPE_PCLK1;
-	RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
-	RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
-	RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
-
-	if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {
-		Error_Handler();
-	}
-
-	PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
-	PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
-	if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Configure the Systick interrupt time
-	 */
-	HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000);
-
-	/**Configure the Systick
-	 */
-	HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
-
-	/* SysTick_IRQn interrupt configuration */
-	HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
-}
-
-/* USER CODE BEGIN 4 */
-
-/* USER CODE END 4 */
-
-/**
- * @brief  This function is executed in case of error occurrence.
- * @param  None
- * @retval None
- */
-void Error_Handler(void) {
-	/* USER CODE BEGIN Error_Handler */
-	/* User can add his own implementation to report the HAL error return state */
-	while (1) {
-	}
-	/* USER CODE END Error_Handler */
-}
-
-#ifdef USE_FULL_ASSERT
-
-/**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
-void assert_failed(uint8_t* file, uint32_t line)
-{
-	/* USER CODE BEGIN 6 */
-	/* User can add his own implementation to report the file name and line number,
-	 ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
-	/* USER CODE END 6 */
-
-}
-
-#endif
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 163 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/8/00c09848773500171025a17b13aa5e23

@@ -0,0 +1,163 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+       
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of myMutex01 */
+  osMutexDef(myMutex01);
+  myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+  /* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+  /* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+  /* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+  /* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+  /* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+  /* Infinite loop */
+  for(;;)
+  {
+    osDelay(1);
+  }
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+  /* Infinite loop */
+  for(;;)
+  {
+    osDelay(1);
+  }
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+  /* Infinite loop */
+  for(;;)
+  {
+    osDelay(1);
+  }
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+     
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 170 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/80/90ef1b7c793500171025a17b13aa5e23

@@ -0,0 +1,170 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (change){
+		osMutexWait(myMutex01Handle, 0);
+
+		osMutexWait(myMutex01Handle, 0);
+		osDelay(1);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;){
+		if (change){
+		osMutexWait(myMutex01Handle, 0);
+
+		osMutexWait(myMutex01Handle, 0);
+		osDelay(1);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 147
soft/.metadata/.plugins/org.eclipse.core.resources/.history/81/6054f3c1bc00001615c49fd51d2574c3

@@ -1,147 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-#include "gpio.h"
-#include "rtc.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S7=0,S8=0,S9=0,S10=0,S11=0,S12=0;
-char encours[12];
-char temps; // nombre de milisecond a attendre entre 2 mise a niveau max 100
-char dernier;//si pause du midi ou de la nuit
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityHigh, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	int i;
-	for (;;) {
-
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_SET);
-		}
-		osDelay(temps);
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_RESET);
-		}
-		osDelay(100-temps);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		if (dernier){
-			configRTC(6);
-			osWait();
-		}
-			else
-		osDelay(36000);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 282 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/81/b0921a8b803500171025a17b13aa5e23

@@ -0,0 +1,282 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(PollHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table,1);
+			eteint(table,1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i,3);
+			allume(i,3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 17
soft/.metadata/.plugins/org.eclipse.core.resources/.history/81/e0aabdbe16ea0016117fdde678b72230

@@ -1,17 +0,0 @@
-/*
- * sortie.h
- *
- *  Created on: 12 avr. 2016
- *      Author: rcluze
- */
-
-#ifndef _SORTIE_H_
-#define _SORTIE_H_
-
-
-
-
-#endif /* _SORTIE_H_ */
-
-
-

+ 250 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/83/8097cf95823500171025a17b13aa5e23

@@ -0,0 +1,250 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12]; //tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of m_table */
+	osMutexDef(m_table);
+	m_tableHandle = osMutexCreate(osMutex(m_table));
+
+	/* definition and creation of m_change */
+	osMutexDef(m_change);
+	m_changeHandle = osMutexCreate(osMutex(m_change));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure = lireRTOS();
+
+		ecrireEprom(heure);
+		if (PollHeure(heure, ancienheure)) {
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table, 1);
+			eteint(table, 1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i, 3);
+			allume(i, 3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat) {
+	if (Etat == 1) {
+		if (table[0] == Etat)
+			HAL_GPIO_WritePin(S1_GPIO_Port, S1_Pin, GPIO_PIN_SET);
+		if (table[1] == Etat)
+			HAL_GPIO_WritePin(S2_GPIO_Port, S2_Pin, GPIO_PIN_SET);
+		if (table[2] == Etat)
+			HAL_GPIO_WritePin(S3_GPIO_Port, S3_Pin, GPIO_PIN_SET);
+		if (table[3] == Etat)
+			HAL_GPIO_WritePin(S4_GPIO_Port, S4_Pin, GPIO_PIN_SET);
+		if (table[4] == Etat)
+			HAL_GPIO_WritePin(S5_GPIO_Port, S5_Pin, GPIO_PIN_SET);
+		if (table[5] == Etat)
+			HAL_GPIO_WritePin(S6_GPIO_Port, S6_Pin, GPIO_PIN_SET);
+		if (table[6] == Etat)
+			HAL_GPIO_WritePin(S7_GPIO_Port, S7_Pin, GPIO_PIN_SET);
+		if (table[7] == Etat)
+			HAL_GPIO_WritePin(S8_GPIO_Port, S8_Pin, GPIO_PIN_SET);
+		if (table[8] == Etat)
+			HAL_GPIO_WritePin(S9_GPIO_Port, S9_Pin, GPIO_PIN_SET);
+		if (table[9] == Etat)
+			HAL_GPIO_WritePin(S10_GPIO_Port, S10_Pin, GPIO_PIN_SET);
+		if (table[10] == Etat)
+			HAL_GPIO_WritePin(S11_GPIO_Port, S11_Pin, GPIO_PIN_SET);
+		if (table[11] == Etat)
+			HAL_GPIO_WritePin(S12_GPIO_Port, S12_Pin, GPIO_PIN_SET);
+	}
+}
+
+void eteint(int i, int Etat) {
+if(Etat == 1) {
+	if (table[0]==Etat)
+	HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+	if (table[1]==Etat)
+	HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+	if (table[2]==Etat)
+	HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+	if (table[3]==Etat)
+	HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+	if (table[4]==Etat)
+	HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+	if (table[5]==Etat)
+	HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+	if (table[6]==Etat)
+	HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+	if (table[7]==Etat)
+	HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+	if (table[8]==Etat)
+	HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+	if (table[9]==Etat)
+	HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+	if (table[10]==Etat)
+	HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+	if (table[11]==Etat)
+	HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 138
soft/.metadata/.plugins/org.eclipse.core.resources/.history/84/40745aa4b900001615c49fd51d2574c3

@@ -1,138 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S7=0,S8=0,S9=0,S10=0,S11=0,S12=0;
-char encours[12];
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	int i;
-	for (;;) {
-
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_SET);
-		}
-		osDelay(temps);
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_RESET);
-		}
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		osDelay(1);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 128
soft/.metadata/.plugins/org.eclipse.core.resources/.history/84/c066e106b300001615c49fd51d2574c3

@@ -1,128 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S1=7,S2=8,S1=9,S10=0,S11=0,S12=0;
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	for (;;) {
-		if (S1)
-
-
-		osDelay(1);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		osDelay(1);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 123 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/84/d0f91291823500171025a17b13aa5e23

@@ -0,0 +1,123 @@
+/**
+  ******************************************************************************
+  * File Name          : gpio.c
+  * Description        : This file provides code for the configuration
+  *                      of all used GPIO pins.
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "gpio.h"
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*----------------------------------------------------------------------------*/
+/* Configure GPIO                                                             */
+/*----------------------------------------------------------------------------*/
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/** Configure pins as 
+        * Analog 
+        * Input 
+        * Output
+        * EVENT_OUT
+        * EXTI
+*/
+void MX_GPIO_Init(void)
+{
+
+  GPIO_InitTypeDef GPIO_InitStruct;
+
+  /* GPIO Ports Clock Enable */
+  __HAL_RCC_GPIOC_CLK_ENABLE();
+  __HAL_RCC_GPIOF_CLK_ENABLE();
+  __HAL_RCC_GPIOA_CLK_ENABLE();
+  __HAL_RCC_GPIOB_CLK_ENABLE();
+
+  /*Configure GPIO pin Output Level */
+  HAL_GPIO_WritePin(GPIOC, S8_Pin|S9_Pin|S10_Pin, GPIO_PIN_RESET);
+
+  /*Configure GPIO pin Output Level */
+  HAL_GPIO_WritePin(GPIOF, S11_Pin|S12_Pin, GPIO_PIN_RESET);
+
+  /*Configure GPIO pin Output Level */
+  HAL_GPIO_WritePin(GPIOB, S1_Pin|S2_Pin|S3_Pin|S4_Pin 
+                          |S5_Pin|S6_Pin|S7_Pin, GPIO_PIN_RESET);
+
+  /*Configure GPIO pins : PCPin PCPin PCPin */
+  GPIO_InitStruct.Pin = S8_Pin|S9_Pin|S10_Pin;
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+  /*Configure GPIO pins : PFPin PFPin */
+  GPIO_InitStruct.Pin = S11_Pin|S12_Pin;
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
+
+  /*Configure GPIO pins : PBPin PBPin PBPin PBPin 
+                           PBPin PBPin PBPin */
+  GPIO_InitStruct.Pin = S1_Pin|S2_Pin|S3_Pin|S4_Pin 
+                          |S5_Pin|S6_Pin|S7_Pin;
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+}
+
+/* USER CODE BEGIN 2 */
+
+/* USER CODE END 2 */
+
+/**
+  * @}
+  */
+
+/**
+  * @}
+  */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 217
soft/.metadata/.plugins/org.eclipse.core.resources/.history/8a/6062183b17ea0016117fdde678b72230

@@ -1,217 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : main.c
- * Description        : Main program body
- ******************************************************************************
- *
- * COPYRIGHT(c) 2017 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-#include "stm32f0xx_hal.h"
-#include "i2c.h"
-#include "tim.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-#include "rtc.h"
-#include "sortie.h"
-/* USER CODE END Includes */
-
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE BEGIN PV */
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-void SystemClock_Config(void);
-void Error_Handler(void);
-
-/* USER CODE BEGIN PFP */
-/* Private function prototypes -----------------------------------------------*/
-
-/* USER CODE END PFP */
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-int main(void) {
-
-	/* USER CODE BEGIN 1 */
-	/* USER CODE END 1 */
-
-	/* MCU Configuration----------------------------------------------------------*/
-
-	/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
-	HAL_Init();
-
-	/* Configure the system clock */
-	SystemClock_Config();
-
-	/* Initialize all configured peripherals */
-	MX_GPIO_Init();
-	MX_I2C1_Init();
-	MX_TIM6_Init();
-	MX_TIM14_Init();
-	MX_TIM16_Init();
-
-	/* USER CODE BEGIN 2 */
-	int heure = lireHeure(); //on initialise l'heure grace a la 	fonction de lecture de l\'heure sur la RTC.
-	char nouvelleHeure = 1; //Variable qui sert à savoir si on est passe à une nouvelle heure. Initialise à 1 car au demarage du programme rien est initialise.
-	char change = 0;//Variable qui sert à savoir si une des sortie est dans un état non stable.
-	char tableSortie[10];//Variable qui sert à savoir quelle sont les états des sortie.
-	char t3min = 0;	//Variable qui sert à savoir si on a passé 3min depuis la derniere fois que l'on a augménté le timer 3
-	char Xms = 0;			//Variable qui sert au temps du timer 3
-
-	/* USER CODE END 2 */
-
-	/* Infinite loop */
-	/* USER CODE BEGIN WHILE */
-	demarreTimer1();
-	while (1) {
-		/* USER CODE END WHILE */
-
-		/* USER CODE BEGIN 3 */
-		if (nouvelleHeure) {
-			nouvelleHeure = 0;
-			Xms = 0;
-			lireSortie(heure,tableSortie);
-			change =change(tableSortie);
-			if (change)
-				demarreTimer2();
-			else
-				eteindreTimer2();
-		}
-		if (change){
-			if (t3min)
-				Xms = Xms + 1 ;
-		}
-		HAL_Delay(65);// On dort 65 ms pour pas toujour etre actif
-
-	}
-	/* USER CODE END 3 */
-
-}
-
-/** System Clock Configuration
- */
-void SystemClock_Config(void) {
-
-	RCC_OscInitTypeDef RCC_OscInitStruct;
-	RCC_ClkInitTypeDef RCC_ClkInitStruct;
-	RCC_PeriphCLKInitTypeDef PeriphClkInit;
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
-	RCC_OscInitStruct.HSIState = RCC_HSI_ON;
-	RCC_OscInitStruct.HSICalibrationValue = 16;
-	RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
-	if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
-			| RCC_CLOCKTYPE_PCLK1;
-	RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
-	RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
-	RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
-
-	if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {
-		Error_Handler();
-	}
-
-	PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
-	PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
-	if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Configure the Systick interrupt time
-	 */
-	HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000);
-
-	/**Configure the Systick
-	 */
-	HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
-
-	/* SysTick_IRQn interrupt configuration */
-	HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
-}
-
-/* USER CODE BEGIN 4 */
-
-/* USER CODE END 4 */
-
-/**
- * @brief  This function is executed in case of error occurrence.
- * @param  None
- * @retval None
- */
-void Error_Handler(void) {
-	/* USER CODE BEGIN Error_Handler */
-	/* User can add his own implementation to report the HAL error return state */
-	while (1) {
-	}
-	/* USER CODE END Error_Handler */
-}
-
-#ifdef USE_FULL_ASSERT
-
-/**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
-void assert_failed(uint8_t* file, uint32_t line)
-{
-	/* USER CODE BEGIN 6 */
-	/* User can add his own implementation to report the file name and line number,
-	 ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
-	/* USER CODE END 6 */
-
-}
-
-#endif
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 149
soft/.metadata/.plugins/org.eclipse.core.resources/.history/8b/001ccedebc00001615c49fd51d2574c3

@@ -1,149 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-#include "gpio.h"
-#include "rtc.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S7=0,S8=0,S9=0,S10=0,S11=0,S12=0;
-char encours[12];
-char temps; // nombre de milisecond a attendre entre 2 mise a niveau max 100
-char dernier;//si pause du midi ou de la nuit
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityHigh, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	int i;
-	for (;;) {
-
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_SET);
-		}
-		osDelay(temps);
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_RESET);
-		}
-		osDelay(100-temps);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		if (dernier){
-			ReveilRTC(6);
-			osWait();
-		}
-		else{
-			int time=lireRTC();
-		}
-		osDelay(36000);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 122
soft/.metadata/.plugins/org.eclipse.core.resources/.history/9/40435d1fc200001615c49fd51d2574c3

@@ -1,122 +0,0 @@
-#include "sortie.h"
-
-void sortie(char *encours,int time,char *temps,char *pause){
-	int heure=timeheure;
-	int min=timemin;
-	int sec=timesec;
-
-	switch(heure){
-	case 9:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 10:
-		encours[0]=0;
-		encours[1]=1;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 11:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=1;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 12:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 19:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=1;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 20:
-		encours[0]=0;
-		encours[1]=1;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 21:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 22:
-		encours[0]=0;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	}
-}

+ 0 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/91/20cdc925bd00001615c49fd51d2574c3


+ 282 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/91/80ffb6c5803500171025a17b13aa5e23

@@ -0,0 +1,282 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(PollHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table,1);
+			eteint(table,1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i,3);
+			allume(i,3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 202
soft/.metadata/.plugins/org.eclipse.core.resources/.history/94/40b2b971b300001615c49fd51d2574c3

@@ -1,202 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S1=7,S2=8,S1=9,S10=0,S11=0,S12=0;
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	for (;;) {
-		if(GPIOS1PIN){
-			if (S1)
-				HAL_GPIO_WritePin(s1_GPIO_Port,s1_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s1_GPIO_Port,s1_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS2PIN){
-			if (S2)
-				HAL_GPIO_WritePin(s2_GPIO_Port,s2_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s2_GPIO_Port,s2_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS3PIN){
-			if (S3)
-				HAL_GPIO_WritePin(s3_GPIO_Port,s3_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s3_GPIO_Port,s3_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS4PIN){
-			if (S4)
-				HAL_GPIO_WritePin(s4_GPIO_Port,s4_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s4_GPIO_Port,s4_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS5PIN){
-			if (S5)
-				HAL_GPIO_WritePin(s5_GPIO_Port,s5_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s5_GPIO_Port,s5_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS6PIN){
-			if (S6)
-				HAL_GPIO_WritePin(s6_GPIO_Port,s6_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s6_GPIO_Port,s6_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS7PIN){
-			if (S7)
-				HAL_GPIO_WritePin(s7_GPIO_Port,s7_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s7_GPIO_Port,s7_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS8PIN){
-			if (S8)
-				HAL_GPIO_WritePin(s8_GPIO_Port,s8_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s8_GPIO_Port,s8_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS9PIN){
-			if (S9)
-				HAL_GPIO_WritePin(s9_GPIO_Port,s9_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s9_GPIO_Port,s9_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS10PIN){
-			if (S10)
-				HAL_GPIO_WritePin(s10_GPIO_Port,s10_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s10_GPIO_Port,s10_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS11PIN){
-			if (S11)
-				HAL_GPIO_WritePin(s11_GPIO_Port,s11_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s11_GPIO_Port,s11_Pin,GPIO_PIN_RESET);
-		}
-		if(GPIOS12PIN){
-			if (S12)
-				HAL_GPIO_WritePin(s12_GPIO_Port,s12_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s12_GPIO_Port,s12_Pin,GPIO_PIN_RESET);
-		}
-
-
-
-
-		osDelay(1);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		osDelay(1);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 277 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/94/806829117d3500171025a17b13aa5e23

@@ -0,0 +1,277 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+
+		osDelay(3000);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 7
soft/.metadata/.plugins/org.eclipse.core.resources/.history/97/a0e33588c100001615c49fd51d2574c3

@@ -1,7 +0,0 @@
-#include "sortie.h"
-
-void sortie(char *encours,int time,char *temps,char *pause){
-	int heure=timeheure;
-	int min=timemin;
-	int sec=timesec;
-}

+ 284 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/97/d045bbe8813500171025a17b13aa5e23

@@ -0,0 +1,284 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i, int Etat);
+void allume(int i, int Etat);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(PollHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table,1);
+			eteint(table,1);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i,3);
+			allume(i,3);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i, int Etat){
+	if(Etat == 1 || Etat == 2){
+		switch(i){
+			case 0:
+				HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+				break;
+			case 1:
+				HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+				break;
+			case 2:
+				HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+				break;
+			case 3:
+				HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+				break;
+			case 4:
+				HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+				break;
+			case 5:
+				HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+				break;
+			case 6:
+				HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+				break;
+			case 7:
+				HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+				break;
+			case 8:
+				HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+				break;
+			case 9:
+				HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+				break;
+			case 10:
+				HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+				break;
+			case 11:
+				HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+				break;
+			default:
+				break;
+		}
+	}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 215 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/99/307c99f9793500171025a17b13aa5e23

@@ -0,0 +1,215 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V. 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice, 
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other 
+ *    contributors to this software may be used to endorse or promote products 
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this 
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under 
+ *    this license is void and will automatically terminate your rights under 
+ *    this license. 
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+
+		break;
+	case 1:
+		break;
+	case 2:
+		break;
+	case 3:
+		break;
+	case 4:
+		break;
+	case 5:
+		break;
+	case 6:
+		break;
+	case 7:
+		break;
+	case 8:
+		break;
+	case 9:
+		break;
+	case 10:
+		break;
+	case 11:
+		break;
+	case 12:
+		break;
+
+}
+}
+
+void eteint(int i){
+
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 71 - 52
soft/.metadata/.plugins/org.eclipse.core.resources/.history/dd/6093e25916ea0016117fdde678b72230 → soft/.metadata/.plugins/org.eclipse.core.resources/.history/9f/00c21a91823500171025a17b13aa5e23

@@ -4,37 +4,46 @@
   * Description        : Main program body
   ******************************************************************************
   *
-  * COPYRIGHT(c) 2017 STMicroelectronics
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
   *
-  * Redistribution and use in source and binary forms, with or without modification,
-  * are permitted provided that the following conditions are met:
-  *   1. Redistributions of source code must retain the above copyright notice,
-  *      this list of conditions and the following disclaimer.
-  *   2. Redistributions in binary form must reproduce the above copyright notice,
-  *      this list of conditions and the following disclaimer in the documentation
-  *      and/or other materials provided with the distribution.
-  *   3. Neither the name of STMicroelectronics nor the names of its contributors
-  *      may be used to endorse or promote products derived from this software
-  *      without specific prior written permission.
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
   *
-  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   *
   ******************************************************************************
   */
 /* Includes ------------------------------------------------------------------*/
 #include "main.h"
 #include "stm32f0xx_hal.h"
-#include "i2c.h"
-#include "tim.h"
+#include "cmsis_os.h"
 #include "gpio.h"
 
 /* USER CODE BEGIN Includes */
@@ -51,6 +60,7 @@
 /* Private function prototypes -----------------------------------------------*/
 void SystemClock_Config(void);
 void Error_Handler(void);
+void MX_FREERTOS_Init(void);
 
 /* USER CODE BEGIN PFP */
 /* Private function prototypes -----------------------------------------------*/
@@ -66,7 +76,6 @@ int main(void)
 
   /* USER CODE BEGIN 1 */
 
-	//LES TODO marque les endrois a chang�s
   /* USER CODE END 1 */
 
   /* MCU Configuration----------------------------------------------------------*/
@@ -79,29 +88,27 @@ int main(void)
 
   /* Initialize all configured peripherals */
   MX_GPIO_Init();
-  MX_I2C1_Init();
-  MX_TIM6_Init();
-  MX_TIM14_Init();
-  MX_TIM16_Init();
 
   /* USER CODE BEGIN 2 */
-	int heure = lireHeure(); //on initialise l'heure grace a la 	fonction de lecture de l\'heure sur la RTC.
-	char nouvelleHeure = 1; 	//Variable qui sert à savoir si on est passe à une nouvelle heure. Initialise à 1 car au demarage du programme rien est initialise.
-	char change = 0;			//Variable qui sert à savoir si une des sortie est dans un état non stable.
-	char tableSortie[10];	//Variable qui sert à savoir quelle sont les états des sortie.
-	char t3min = 0;			//Variable qui sert à savoir si on a passé 3min depuis la derniere fois que l'on a augménté le timer 3
-	char Xms = 0;			//Variable qui sert au temps du timer 3
+
   /* USER CODE END 2 */
 
+  /* Call init function for freertos objects (in freertos.c) */
+  MX_FREERTOS_Init();
+
+  /* Start scheduler */
+  osKernelStart();
+  
+  /* We should never get here as control is now taken by the scheduler */
+
   /* Infinite loop */
   /* USER CODE BEGIN WHILE */
-  while (1)
-  {
+	while (1) {
   /* USER CODE END WHILE */
 
   /* USER CODE BEGIN 3 */
 
-  }
+	}
   /* USER CODE END 3 */
 
 }
@@ -113,7 +120,6 @@ void SystemClock_Config(void)
 
   RCC_OscInitTypeDef RCC_OscInitStruct;
   RCC_ClkInitTypeDef RCC_ClkInitStruct;
-  RCC_PeriphCLKInitTypeDef PeriphClkInit;
 
     /**Initializes the CPU, AHB and APB busses clocks 
     */
@@ -135,13 +141,6 @@ void SystemClock_Config(void)
   RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
 
   if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
-  {
-    Error_Handler();
-  }
-
-  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
-  PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
-  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
   {
     Error_Handler();
   }
@@ -155,13 +154,34 @@ void SystemClock_Config(void)
   HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
 
   /* SysTick_IRQn interrupt configuration */
-  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
+  HAL_NVIC_SetPriority(SysTick_IRQn, 3, 0);
 }
 
 /* USER CODE BEGIN 4 */
 
 /* USER CODE END 4 */
 
+/**
+  * @brief  Period elapsed callback in non blocking mode
+  * @note   This function is called  when TIM1 interrupt took place, inside
+  * HAL_TIM_IRQHandler(). It makes a direct call to HAL_IncTick() to increment
+  * a global variable "uwTick" used as application time base.
+  * @param  htim : TIM handle
+  * @retval None
+  */
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
+{
+/* USER CODE BEGIN Callback 0 */
+
+/* USER CODE END Callback 0 */
+  if (htim->Instance == TIM1) {
+    HAL_IncTick();
+  }
+/* USER CODE BEGIN Callback 1 */
+
+/* USER CODE END Callback 1 */
+}
+
 /**
   * @brief  This function is executed in case of error occurrence.
   * @param  None
@@ -170,10 +190,9 @@ void SystemClock_Config(void)
 void Error_Handler(void)
 {
   /* USER CODE BEGIN Error_Handler */
-  /* User can add his own implementation to report the HAL error return state */
-  while(1) 
-  {
-  }
+	/* User can add his own implementation to report the HAL error return state */
+	while (1) {
+	}
   /* USER CODE END Error_Handler */ 
 }
 
@@ -189,8 +208,8 @@ void Error_Handler(void)
 void assert_failed(uint8_t* file, uint32_t line)
 {
   /* USER CODE BEGIN 6 */
-  /* User can add his own implementation to report the file name and line number,
-    ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+	/* User can add his own implementation to report the file name and line number,
+	 ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
   /* USER CODE END 6 */
 
 }

+ 282 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/a2/e0674182803500171025a17b13aa5e23

@@ -0,0 +1,282 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTC.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+uint32_t ancienheure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+void PollHeure();
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		ancienheure = heure;
+		heure=lireRTOS();
+
+		ecrireEprom(heure);
+		if(PollHeure(heure, ancienheure)){
+			changeHeure(heure);
+		}
+		osDelay(3000);
+		osMutexRelease(m_tableHandle, 0);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			allume(table);
+			eteint(table);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			eteint(i);
+			allume(i);
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 140
soft/.metadata/.plugins/org.eclipse.core.resources/.history/a3/c051fc92bc00001615c49fd51d2574c3

@@ -1,140 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S7=0,S8=0,S9=0,S10=0,S11=0,S12=0;
-char encours[12];
-char temps; // nombre de milisecond a attendre entre 2 mise a niveau
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	int i;
-	for (;;) {
-
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_SET);
-		}
-		osDelay(temps);
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_RESET);
-		}
-		osDelay(100-temps);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		osDelay(1);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 283 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/a4/1072b7e87d3500171025a17b13aa5e23

@@ -0,0 +1,283 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+#include "RTOS.h"
+#include "Eprom.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+uint32_t heure;
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		heure=lireRTOS();
+		ecrireEprom(heure);
+		heureChange(heure);
+		osDelay(3000);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 135
soft/.metadata/.plugins/org.eclipse.core.resources/.history/a4/2011ee67b300001615c49fd51d2574c3

@@ -1,135 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S1=7,S2=8,S1=9,S10=0,S11=0,S12=0;
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityNormal, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	for (;;) {
-		if(GPIOS1PIN){
-			if (S1)
-				HAL_GPIO_WritePin(s1_GPIO_Port,s1_Pin,GPIO_PIN_SET);
-			else
-				HAL_GPIO_WritePin(s1_GPIO_Port,s1_Pin,GPIO_PIN_RESET);
-		}
-
-
-
-		osDelay(1);
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		osDelay(1);
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 168 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/a4/d0339fbb783500171025a17b13aa5e23

@@ -0,0 +1,168 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+       
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of myMutex01 */
+  osMutexDef(myMutex01);
+  myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+  /* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+  /* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+  /* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+  /* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+  /* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+  /* Infinite loop */
+  for(;;)
+  {
+    osDelay(1);
+  }
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+  /* Infinite loop */
+  for(;;)
+  {
+	  osMutexWait(myMutex01Handle,0);
+
+
+	  osMutexWait(myMutex01Handle,0);
+	  osDelay(1);
+  }
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+  /* Infinite loop */
+  for(;;)
+
+  {
+    osDelay(1);
+  }
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+     
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 180
soft/.metadata/.plugins/org.eclipse.core.resources/.history/a5/809db67817ea0016117fdde678b72230

@@ -1,180 +0,0 @@
-/**
-  ******************************************************************************
-  * File Name          : TIM.c
-  * Description        : This file provides code for the configuration
-  *                      of the TIM instances.
-  ******************************************************************************
-  *
-  * COPYRIGHT(c) 2017 STMicroelectronics
-  *
-  * Redistribution and use in source and binary forms, with or without modification,
-  * are permitted provided that the following conditions are met:
-  *   1. Redistributions of source code must retain the above copyright notice,
-  *      this list of conditions and the following disclaimer.
-  *   2. Redistributions in binary form must reproduce the above copyright notice,
-  *      this list of conditions and the following disclaimer in the documentation
-  *      and/or other materials provided with the distribution.
-  *   3. Neither the name of STMicroelectronics nor the names of its contributors
-  *      may be used to endorse or promote products derived from this software
-  *      without specific prior written permission.
-  *
-  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-  *
-  ******************************************************************************
-  */
-
-/* Includes ------------------------------------------------------------------*/
-#include "tim.h"
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-TIM_HandleTypeDef htim6;
-TIM_HandleTypeDef htim14;
-TIM_HandleTypeDef htim16;
-
-/* TIM6 init function */
-void MX_TIM6_Init(void)
-{
-
-  htim6.Instance = TIM6;
-  htim6.Init.Prescaler = 0;
-  htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
-  htim6.Init.Period = 0;
-  if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
-  {
-    Error_Handler();
-  }
-
-}
-/* TIM14 init function */
-void MX_TIM14_Init(void)
-{
-
-  htim14.Instance = TIM14;
-  htim14.Init.Prescaler = 0;
-  htim14.Init.CounterMode = TIM_COUNTERMODE_UP;
-  htim14.Init.Period = 0;
-  htim14.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
-  if (HAL_TIM_Base_Init(&htim14) != HAL_OK)
-  {
-    Error_Handler();
-  }
-
-}
-/* TIM16 init function */
-void MX_TIM16_Init(void)
-{
-
-  htim16.Instance = TIM16;
-  htim16.Init.Prescaler = 0;
-  htim16.Init.CounterMode = TIM_COUNTERMODE_UP;
-  htim16.Init.Period = 0;
-  htim16.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
-  htim16.Init.RepetitionCounter = 0;
-  if (HAL_TIM_Base_Init(&htim16) != HAL_OK)
-  {
-    Error_Handler();
-  }
-
-}
-
-void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
-{
-
-  if(tim_baseHandle->Instance==TIM6)
-  {
-  /* USER CODE BEGIN TIM6_MspInit 0 */
-
-  /* USER CODE END TIM6_MspInit 0 */
-    /* Peripheral clock enable */
-    __HAL_RCC_TIM6_CLK_ENABLE();
-  /* USER CODE BEGIN TIM6_MspInit 1 */
-
-  /* USER CODE END TIM6_MspInit 1 */
-  }
-  else if(tim_baseHandle->Instance==TIM14)
-  {
-  /* USER CODE BEGIN TIM14_MspInit 0 */
-
-  /* USER CODE END TIM14_MspInit 0 */
-    /* Peripheral clock enable */
-    __HAL_RCC_TIM14_CLK_ENABLE();
-  /* USER CODE BEGIN TIM14_MspInit 1 */
-
-  /* USER CODE END TIM14_MspInit 1 */
-  }
-  else if(tim_baseHandle->Instance==TIM16)
-  {
-  /* USER CODE BEGIN TIM16_MspInit 0 */
-
-  /* USER CODE END TIM16_MspInit 0 */
-    /* Peripheral clock enable */
-    __HAL_RCC_TIM16_CLK_ENABLE();
-  /* USER CODE BEGIN TIM16_MspInit 1 */
-
-  /* USER CODE END TIM16_MspInit 1 */
-  }
-}
-
-void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
-{
-
-  if(tim_baseHandle->Instance==TIM6)
-  {
-  /* USER CODE BEGIN TIM6_MspDeInit 0 */
-
-  /* USER CODE END TIM6_MspDeInit 0 */
-    /* Peripheral clock disable */
-    __HAL_RCC_TIM6_CLK_DISABLE();
-  /* USER CODE BEGIN TIM6_MspDeInit 1 */
-
-  /* USER CODE END TIM6_MspDeInit 1 */
-  }
-  else if(tim_baseHandle->Instance==TIM14)
-  {
-  /* USER CODE BEGIN TIM14_MspDeInit 0 */
-
-  /* USER CODE END TIM14_MspDeInit 0 */
-    /* Peripheral clock disable */
-    __HAL_RCC_TIM14_CLK_DISABLE();
-  /* USER CODE BEGIN TIM14_MspDeInit 1 */
-
-  /* USER CODE END TIM14_MspDeInit 1 */
-  }
-  else if(tim_baseHandle->Instance==TIM16)
-  {
-  /* USER CODE BEGIN TIM16_MspDeInit 0 */
-
-  /* USER CODE END TIM16_MspDeInit 0 */
-    /* Peripheral clock disable */
-    __HAL_RCC_TIM16_CLK_DISABLE();
-  /* USER CODE BEGIN TIM16_MspDeInit 1 */
-
-  /* USER CODE END TIM16_MspDeInit 1 */
-  }
-} 
-
-/* USER CODE BEGIN 1 */
-
-/* USER CODE END 1 */
-
-/**
-  * @}
-  */
-
-/**
-  * @}
-  */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 216
soft/.metadata/.plugins/org.eclipse.core.resources/.history/a8/80f332de16ea0016117fdde678b72230

@@ -1,216 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : main.c
- * Description        : Main program body
- ******************************************************************************
- *
- * COPYRIGHT(c) 2017 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-/* Includes ------------------------------------------------------------------*/
-#include "main.h"
-#include "stm32f0xx_hal.h"
-#include "i2c.h"
-#include "tim.h"
-#include "gpio.h"
-
-/* USER CODE BEGIN Includes */
-
-#include "rtc.h"
-#include "sortie.h"
-/* USER CODE END Includes */
-
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE BEGIN PV */
-/* Private variables ---------------------------------------------------------*/
-
-/* USER CODE END PV */
-
-/* Private function prototypes -----------------------------------------------*/
-void SystemClock_Config(void);
-void Error_Handler(void);
-
-/* USER CODE BEGIN PFP */
-/* Private function prototypes -----------------------------------------------*/
-
-/* USER CODE END PFP */
-
-/* USER CODE BEGIN 0 */
-
-/* USER CODE END 0 */
-
-int main(void) {
-
-	/* USER CODE BEGIN 1 */
-	/* USER CODE END 1 */
-
-	/* MCU Configuration----------------------------------------------------------*/
-
-	/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
-	HAL_Init();
-
-	/* Configure the system clock */
-	SystemClock_Config();
-
-	/* Initialize all configured peripherals */
-	MX_GPIO_Init();
-	MX_I2C1_Init();
-	MX_TIM6_Init();
-	MX_TIM14_Init();
-	MX_TIM16_Init();
-
-	/* USER CODE BEGIN 2 */
-	int heure = lireHeure(); //on initialise l'heure grace a la 	fonction de lecture de l\'heure sur la RTC.
-	char nouvelleHeure = 1; //Variable qui sert à savoir si on est passe à une nouvelle heure. Initialise à 1 car au demarage du programme rien est initialise.
-	char change = 0;//Variable qui sert à savoir si une des sortie est dans un état non stable.
-	char tableSortie[10];//Variable qui sert à savoir quelle sont les états des sortie.
-	char t3min = 0;	//Variable qui sert à savoir si on a passé 3min depuis la derniere fois que l'on a augménté le timer 3
-	char Xms = 0;			//Variable qui sert au temps du timer 3
-
-	/* USER CODE END 2 */
-
-	/* Infinite loop */
-	/* USER CODE BEGIN WHILE */
-	demarreTimer1();
-	while (1) {
-		/* USER CODE END WHILE */
-		if (nouvelleHeure) {
-			nouvelleHeure = 0;
-			Xms = 0;
-			lireSortie(heure,tableSortie);
-			change =change(tableSortie);
-			if (change)
-				demarreTimer2();
-			else
-				eteindreTimer2();
-		}
-		if (change){
-			if (t3min)
-				Xms = Xms + 1 ;
-		}
-		HAL_Delay(65);// On dort 65 ms pour pas toujour etre actif
-		/* USER CODE BEGIN 3 */
-
-	}
-	/* USER CODE END 3 */
-
-}
-
-/** System Clock Configuration
- */
-void SystemClock_Config(void) {
-
-	RCC_OscInitTypeDef RCC_OscInitStruct;
-	RCC_ClkInitTypeDef RCC_ClkInitStruct;
-	RCC_PeriphCLKInitTypeDef PeriphClkInit;
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
-	RCC_OscInitStruct.HSIState = RCC_HSI_ON;
-	RCC_OscInitStruct.HSICalibrationValue = 16;
-	RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
-	if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Initializes the CPU, AHB and APB busses clocks
-	 */
-	RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
-			| RCC_CLOCKTYPE_PCLK1;
-	RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
-	RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
-	RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
-
-	if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) {
-		Error_Handler();
-	}
-
-	PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_I2C1;
-	PeriphClkInit.I2c1ClockSelection = RCC_I2C1CLKSOURCE_HSI;
-	if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) {
-		Error_Handler();
-	}
-
-	/**Configure the Systick interrupt time
-	 */
-	HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq() / 1000);
-
-	/**Configure the Systick
-	 */
-	HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
-
-	/* SysTick_IRQn interrupt configuration */
-	HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
-}
-
-/* USER CODE BEGIN 4 */
-
-/* USER CODE END 4 */
-
-/**
- * @brief  This function is executed in case of error occurrence.
- * @param  None
- * @retval None
- */
-void Error_Handler(void) {
-	/* USER CODE BEGIN Error_Handler */
-	/* User can add his own implementation to report the HAL error return state */
-	while (1) {
-	}
-	/* USER CODE END Error_Handler */
-}
-
-#ifdef USE_FULL_ASSERT
-
-/**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
-void assert_failed(uint8_t* file, uint32_t line)
-{
-	/* USER CODE BEGIN 6 */
-	/* User can add his own implementation to report the file name and line number,
-	 ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
-	/* USER CODE END 6 */
-
-}
-
-#endif
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 6
soft/.metadata/.plugins/org.eclipse.core.resources/.history/ab/303a8eff16ea0016117fdde678b72230

@@ -1,6 +0,0 @@
-/*horraire a activé tel ou tel sortie*/
-
-
-
-}
-

+ 0 - 122
soft/.metadata/.plugins/org.eclipse.core.resources/.history/ab/90b30a02c200001615c49fd51d2574c3

@@ -1,122 +0,0 @@
-#include "sortie.h"
-
-void sortie(char *encours,int time,char *temps,char *pause){
-	int heure=timeheure;
-	int min=timemin;
-	int sec=timesec;
-
-	switch(heure){
-	case 9:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 10:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 11:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 12:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 19:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 20:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 21:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	case 22:
-		encours[0]=1;
-		encours[1]=0;
-		encours[2]=0;
-		encours[3]=0;
-		encours[4]=0;
-		encours[5]=0;
-		encours[6]=0;
-		encours[7]=0;
-		encours[8]=0;
-		encours[9]=0;
-		encours[10]=0;
-		encours[11]=0;
-		break;
-	}
-}

+ 0 - 6
soft/.metadata/.plugins/org.eclipse.core.resources/.history/ac/30d3e071bc00001615c49fd51d2574c3

@@ -1,6 +0,0 @@
-#ifndef INCLUDE_RTC_H_
-#define INCLUDE_RTC_H_
-
-
-
-#endif

+ 262 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/ac/c04d099a7b3500171025a17b13aa5e23

@@ -0,0 +1,262 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other
+ *    contributors to this software may be used to endorse or promote products
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under
+ *    this license is void and will automatically terminate your rights under
+ *    this license.
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+		break;
+	default:
+		break;
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 18
soft/.metadata/.plugins/org.eclipse.core.resources/.history/ad/40b2d20ac000001615c49fd51d2574c3

@@ -1,18 +0,0 @@
-/*
- * sortie.h
- *
- *  Created on: 12 avr. 2016
- *      Author: rcluze
- */
-
-#ifndef _SORTIE_H_
-#define _SORTIE_H_
-
-
-void sortie
-
-
-#endif /* _SORTIE_H_ */
-
-
-(char *encours,time,char *temps,char *pause)

+ 215 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/ae/101617337b3500171025a17b13aa5e23

@@ -0,0 +1,215 @@
+/**
+ ******************************************************************************
+ * File Name          : freertos.c
+ * Description        : Code for freertos applications
+ ******************************************************************************
+ *
+ * Copyright (c) 2017 STMicroelectronics International N.V.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted, provided that the following conditions are met:
+ *
+ * 1. Redistribution of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of other
+ *    contributors to this software may be used to endorse or promote products
+ *    derived from this software without specific written permission.
+ * 4. This software, including modifications and/or derivative works of this
+ *    software, must execute solely and exclusively on microcontroller or
+ *    microprocessor devices manufactured by or for STMicroelectronics.
+ * 5. Redistribution and use of this software other than as permitted under
+ *    this license is void and will automatically terminate your rights under
+ *    this license.
+ *
+ * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
+ * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId myMutex01Handle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+	/* USER CODE BEGIN Init */
+
+	/* USER CODE END Init */
+
+	/* Create the mutex(es) */
+	/* definition and creation of myMutex01 */
+	osMutexDef(myMutex01);
+	myMutex01Handle = osMutexCreate(osMutex(myMutex01));
+
+	/* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+	/* USER CODE END RTOS_MUTEX */
+
+	/* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+	/* USER CODE END RTOS_SEMAPHORES */
+
+	/* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+	/* USER CODE END RTOS_TIMERS */
+
+	/* Create the thread(s) */
+	/* definition and creation of MainTask */
+	osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+	MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+	/* definition and creation of Task20ms */
+	osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+	Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+	/* definition and creation of TaskXms */
+	osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+	TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+	/* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+	/* USER CODE END RTOS_THREADS */
+
+	/* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+	/* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument) {
+
+	/* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	for (;;) {
+		osDelay(1);
+	}
+	/* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument) {
+	/* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+
+	}
+	/* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument) {
+	/* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(myMutex01Handle, 0);
+			if (table[i] == 2)
+				eteint(i);
+			else if (table[i] == 3)
+				allume(i);
+			osMutexWait(myMutex01Handle, 0);
+			osDelay(1);
+		}
+	}
+	/* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(&);
+		break;
+	case 1:
+		break;
+	case 2:
+		break;
+	case 3:
+		break;
+	case 4:
+		break;
+	case 5:
+		break;
+	case 6:
+		break;
+	case 7:
+		break;
+	case 8:
+		break;
+	case 9:
+		break;
+	case 10:
+		break;
+	case 11:
+		break;
+	case 12:
+		break;
+
+}
+}
+
+void eteint(int i){
+
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 0 - 159
soft/.metadata/.plugins/org.eclipse.core.resources/.history/ae/30d6b623be00001615c49fd51d2574c3

@@ -1,159 +0,0 @@
-/**
- ******************************************************************************
- * File Name          : freertos.c
- * Description        : Code for freertos applications
- ******************************************************************************
- *
- * COPYRIGHT(c) 2016 STMicroelectronics
- *
- * Redistribution and use in source and binary forms, with or without modification,
- * are permitted provided that the following conditions are met:
- *   1. Redistributions of source code must retain the above copyright notice,
- *      this list of conditions and the following disclaimer.
- *   2. Redistributions in binary form must reproduce the above copyright notice,
- *      this list of conditions and the following disclaimer in the documentation
- *      and/or other materials provided with the distribution.
- *   3. Neither the name of STMicroelectronics nor the names of its contributors
- *      may be used to endorse or promote products derived from this software
- *      without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "FreeRTOS.h"
-#include "task.h"
-#include "cmsis_os.h"
-#include "board.h"
-#include "gpio.h"
-#include "rtc.h"
-
-/* USER CODE BEGIN Includes */
-
-/* USER CODE END Includes */
-
-/* Variables -----------------------------------------------------------------*/
-osThreadId allumageHandle;
-osThreadId pilotageHandle;
-
-/* USER CODE BEGIN Variables */
-char S1=0,S2=0,S3=0,S4=0,S5=0,S6=0,S7=0,S8=0,S9=0,S10=0,S11=0,S12=0;
-char encours[12];
-char temps; // nombre de milisecond a attendre entre 2 mise a jour des sortie max 100
-char pause;//si pause du midi ou de la nuit
-char EEPROM; // variable pour l'ecriture de EEPROM 1 fois sur 2
-/* USER CODE END Variables */
-
-/* Function prototypes -------------------------------------------------------*/
-void allumageTask(void const * argument);
-void pilotageTask(void const * argument);
-
-void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
-
-/* USER CODE BEGIN FunctionPrototypes */
-
-/* USER CODE END FunctionPrototypes */
-
-/* Hook prototypes */
-
-/* Init FreeRTOS */
-
-void MX_FREERTOS_Init(void) {
-	/* USER CODE BEGIN Init */
-
-	/* USER CODE END Init */
-
-	/* USER CODE BEGIN RTOS_MUTEX */
-	/* add mutexes, ... */
-	/* USER CODE END RTOS_MUTEX */
-
-	/* USER CODE BEGIN RTOS_SEMAPHORES */
-	/* add semaphores, ... */
-	/* USER CODE END RTOS_SEMAPHORES */
-
-	/* USER CODE BEGIN RTOS_TIMERS */
-	/* start timers, add new ones, ... */
-	/* USER CODE END RTOS_TIMERS */
-
-	/* Create the thread(s) */
-	/* definition and creation of allumage */
-	osThreadDef(allumage, allumageTask, osPriorityNormal, 0, 128);
-	allumageHandle = osThreadCreate(osThread(allumage), NULL);
-
-	/* definition and creation of pilotage */
-	osThreadDef(pilotage, pilotageTask, osPriorityHigh, 0, 128);
-	pilotageHandle = osThreadCreate(osThread(pilotage), NULL);
-
-	/* USER CODE BEGIN RTOS_THREADS */
-	/* add threads, ... */
-	/* USER CODE END RTOS_THREADS */
-
-	/* USER CODE BEGIN RTOS_QUEUES */
-	/* add queues, ... */
-	/* USER CODE END RTOS_QUEUES */
-}
-
-/* allumageTask function */
-void allumageTask(void const * argument) {
-
-	/* USER CODE BEGIN allumageTask */
-	/* Infinite loop */
-	int i;
-	for (;;) {
-
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_SET);
-		}
-		osDelay(temps);//TODO changer osDElay en quelleque chose de beaucoup beaucoup plus rapide
-		for(i=0;i<12;i++){
-			if (encours[i])
-				HAL_GPIO_WritePin(&listPort[i],listPin[i],GPIO_PIN_RESET);
-		}
-		osDelay(100-temps);//TODO changer osDElay en quelleque chose de beaucoup beaucoup plus rapide
-	}
-	/* USER CODE END allumageTask */
-}
-
-/* pilotageTask function */
-void pilotageTask(void const * argument) {
-	/* USER CODE BEGIN pilotageTask */
-	/* Infinite loop */
-	for (;;) {
-		if (dernier){
-			ReveilRTC(6);
-			osWait();
-		}
-		else{
-			int time=lireRTC();
-			PWM(encours,time,temps);
-			if(EEPROM){
-				ecrireEEPROME();
-				EEPROM=0;
-			}
-			else
-				EEPROM=1;
-
-			osDelay(36000);
-		}
-
-	}
-	/* USER CODE END pilotageTask */
-}
-
-/* USER CODE BEGIN Application */
-
-/* USER CODE END Application */
-
-/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 281 - 0
soft/.metadata/.plugins/org.eclipse.core.resources/.history/af/40a947b07d3500171025a17b13aa5e23

@@ -0,0 +1,281 @@
+/**
+  ******************************************************************************
+  * File Name          : freertos.c
+  * Description        : Code for freertos applications
+  ******************************************************************************
+  *
+  * Copyright (c) 2017 STMicroelectronics International N.V. 
+  * All rights reserved.
+  *
+  * Redistribution and use in source and binary forms, with or without 
+  * modification, are permitted, provided that the following conditions are met:
+  *
+  * 1. Redistribution of source code must retain the above copyright notice, 
+  *    this list of conditions and the following disclaimer.
+  * 2. Redistributions in binary form must reproduce the above copyright notice,
+  *    this list of conditions and the following disclaimer in the documentation
+  *    and/or other materials provided with the distribution.
+  * 3. Neither the name of STMicroelectronics nor the names of other 
+  *    contributors to this software may be used to endorse or promote products 
+  *    derived from this software without specific written permission.
+  * 4. This software, including modifications and/or derivative works of this 
+  *    software, must execute solely and exclusively on microcontroller or
+  *    microprocessor devices manufactured by or for STMicroelectronics.
+  * 5. Redistribution and use of this software other than as permitted under 
+  *    this license is void and will automatically terminate your rights under 
+  *    this license. 
+  *
+  * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS" 
+  * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT 
+  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 
+  * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+  * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT 
+  * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 
+  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
+  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
+  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  *
+  ******************************************************************************
+  */
+
+/* Includes ------------------------------------------------------------------*/
+#include "FreeRTOS.h"
+#include "task.h"
+#include "cmsis_os.h"
+
+/* USER CODE BEGIN Includes */     
+#include "gpio.h"
+/* USER CODE END Includes */
+
+/* Variables -----------------------------------------------------------------*/
+osThreadId MainTaskHandle;
+osThreadId Task20msHandle;
+osThreadId TaskXmsHandle;
+osMutexId m_tableHandle;
+osMutexId m_changeHandle;
+
+/* USER CODE BEGIN Variables */
+int8_t g_change; // variable globale savoir si il y a du changement
+uint8_t table[12];//tableau des changement au cours de cette heure;
+uint8_t Xms; // temps
+
+/* USER CODE END Variables */
+
+/* Function prototypes -------------------------------------------------------*/
+void f_MainTask(void const * argument);
+void f_20ms(void const * argument);
+void f_xms(void const * argument);
+
+void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */
+
+/* USER CODE BEGIN FunctionPrototypes */
+void eteint(int i);
+void allume(int i);
+/* USER CODE END FunctionPrototypes */
+
+/* Hook prototypes */
+
+/* Init FreeRTOS */
+
+void MX_FREERTOS_Init(void) {
+  /* USER CODE BEGIN Init */
+
+  /* USER CODE END Init */
+
+  /* Create the mutex(es) */
+  /* definition and creation of m_table */
+  osMutexDef(m_table);
+  m_tableHandle = osMutexCreate(osMutex(m_table));
+
+  /* definition and creation of m_change */
+  osMutexDef(m_change);
+  m_changeHandle = osMutexCreate(osMutex(m_change));
+
+  /* USER CODE BEGIN RTOS_MUTEX */
+	/* add mutexes, ... */
+  /* USER CODE END RTOS_MUTEX */
+
+  /* USER CODE BEGIN RTOS_SEMAPHORES */
+	/* add semaphores, ... */
+  /* USER CODE END RTOS_SEMAPHORES */
+
+  /* USER CODE BEGIN RTOS_TIMERS */
+	/* start timers, add new ones, ... */
+  /* USER CODE END RTOS_TIMERS */
+
+  /* Create the thread(s) */
+  /* definition and creation of MainTask */
+  osThreadDef(MainTask, f_MainTask, osPriorityNormal, 0, 128);
+  MainTaskHandle = osThreadCreate(osThread(MainTask), NULL);
+
+  /* definition and creation of Task20ms */
+  osThreadDef(Task20ms, f_20ms, osPriorityHigh, 0, 128);
+  Task20msHandle = osThreadCreate(osThread(Task20ms), NULL);
+
+  /* definition and creation of TaskXms */
+  osThreadDef(TaskXms, f_xms, osPriorityHigh, 0, 128);
+  TaskXmsHandle = osThreadCreate(osThread(TaskXms), NULL);
+
+  /* USER CODE BEGIN RTOS_THREADS */
+	/* add threads, ... */
+  /* USER CODE END RTOS_THREADS */
+
+  /* USER CODE BEGIN RTOS_QUEUES */
+	/* add queues, ... */
+  /* USER CODE END RTOS_QUEUES */
+}
+
+/* f_MainTask function */
+void f_MainTask(void const * argument)
+{
+
+  /* USER CODE BEGIN f_MainTask */
+	/* Infinite loop */
+	initialisation();
+	for (;;) {
+		osMutexWait(m_tableHandle, 0);
+		heure=lireRTOS();
+		ecrireEprom(heure);
+		heureChange(heure);
+		osDelay(3000);
+	}
+  /* USER CODE END f_MainTask */
+}
+
+/* f_20ms function */
+void f_20ms(void const * argument)
+{
+  /* USER CODE BEGIN f_20ms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					allume(i);
+				else if (table[i] == 3)
+					eteint(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(20);
+		}
+
+	}
+  /* USER CODE END f_20ms */
+}
+
+/* f_xms function */
+void f_xms(void const * argument)
+{
+  /* USER CODE BEGIN f_xms */
+	/* Infinite loop */
+	for (;;) {
+		if (g_change) {
+			int i;
+			osMutexWait(m_tableHandle, 0);
+			for (i = 0; i < 12; i++) {
+				if (table[i] == 2)
+					eteint(i);
+				else if (table[i] == 3)
+					allume(i);
+			}
+			osMutexWait(m_tableHandle, 0);
+			osDelay(Xms);
+		}
+	}
+  /* USER CODE END f_xms */
+}
+
+/* USER CODE BEGIN Application */
+void allume(int i){
+switch(i){
+	case 0:
+		HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_SET);
+		break;
+	case 1:
+		HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_SET);
+		break;
+	case 2:
+		HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_SET);
+		break;
+	case 3:
+		HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_SET);
+		break;
+	case 4:
+		HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_SET);
+		break;
+	case 5:
+		HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_SET);
+		break;
+	case 6:
+		HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_SET);
+		break;
+	case 7:
+		HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_SET);
+		break;
+	case 8:
+		HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_SET);
+		break;
+	case 9:
+		HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_SET);
+		break;
+	case 10:
+		HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_SET);
+		break;
+	case 11:
+		HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_SET);
+		break;
+	default:
+		break;
+}
+}
+
+void eteint(int i){
+	switch(i){
+		case 0:
+			HAL_GPIO_WritePin(S1_GPIO_Port,S1_Pin,GPIO_PIN_RESET);
+			break;
+		case 1:
+			HAL_GPIO_WritePin(S2_GPIO_Port,S2_Pin,GPIO_PIN_RESET);
+			break;
+		case 2:
+			HAL_GPIO_WritePin(S3_GPIO_Port,S3_Pin,GPIO_PIN_RESET);
+			break;
+		case 3:
+			HAL_GPIO_WritePin(S4_GPIO_Port,S4_Pin,GPIO_PIN_RESET);
+			break;
+		case 4:
+			HAL_GPIO_WritePin(S5_GPIO_Port,S5_Pin,GPIO_PIN_RESET);
+			break;
+		case 5:
+			HAL_GPIO_WritePin(S6_GPIO_Port,S6_Pin,GPIO_PIN_RESET);
+			break;
+		case 6:
+			HAL_GPIO_WritePin(S7_GPIO_Port,S7_Pin,GPIO_PIN_RESET);
+			break;
+		case 7:
+			HAL_GPIO_WritePin(S8_GPIO_Port,S8_Pin,GPIO_PIN_RESET);
+			break;
+		case 8:
+			HAL_GPIO_WritePin(S9_GPIO_Port,S9_Pin,GPIO_PIN_RESET);
+			break;
+		case 9:
+			HAL_GPIO_WritePin(S10_GPIO_Port,S10_Pin,GPIO_PIN_RESET);
+			break;
+		case 10:
+			HAL_GPIO_WritePin(S11_GPIO_Port,S11_Pin,GPIO_PIN_RESET);
+			break;
+		case 11:
+			HAL_GPIO_WritePin(S12_GPIO_Port,S12_Pin,GPIO_PIN_RESET);
+			break;
+		default:
+			break;
+	}
+}
+/* USER CODE END Application */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

Some files were not shown because too many files changed in this diff