neuron-conf.h 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. int PORT_to_NEURON_A_INDEX_NEXT = 0 ;
  2. int NEURON_A_INDEX_NEXT = 0 ;
  3. int Current_synapse_A_INDEX_NEXT = 0 ;
  4. int Coordinate_Y_current_max = 30 ;
  5. int Coordinate_X_current_max = 10 ;
  6. int NEURON_TO_PORT_A_INDEX_NEXT = 0 ;
  7. int Coordinate_X_assign() {
  8. if(DISPLAY_PHYS_A[0].X > 300 and DISPLAY_PHYS_A[0].Y > 220) {
  9. if(Coordinate_X_current_max + 30 < DISPLAY_PHYS_A[0].X ) {
  10. Coordinate_X_current_max += 25 ;
  11. return Coordinate_X_current_max;
  12. } else {
  13. Coordinate_X_current_max = 15;
  14. Coordinate_Y_current_max += 50 ;
  15. return Coordinate_X_current_max;
  16. }
  17. } else {
  18. if(Coordinate_X_current_max + 15 < DISPLAY_PHYS_A[0].X ) {
  19. Coordinate_X_current_max += 15 ;
  20. return Coordinate_X_current_max;
  21. } else {
  22. Coordinate_X_current_max = 5;
  23. Coordinate_Y_current_max += 15 ;
  24. return Coordinate_X_current_max;
  25. }
  26. }
  27. }
  28. int Coordinate_Y_assign() {
  29. return Coordinate_Y_current_max ;
  30. }
  31. #include "config_Slave_Ports_LOCAL_neuron_config.h"
  32. bool NEURON_A_reset() {
  33. NEURON_A_INDEX_NEXT = 0 ;
  34. Coordinate_Y_current_max = 30 ; //0
  35. NEURON_A[NEURON_A_INDEX_NEXT].Label[0] = 'A' ; NEURON_A[NEURON_A_INDEX_NEXT].Label[1] = '\0' ;
  36. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag = 1 ;
  37. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag__x3A__until = millis() + 10000 ;
  38. NEURON_A[NEURON_A_INDEX_NEXT].if_used = 1 ;
  39. NEURON_A[NEURON_A_INDEX_NEXT].if_modified = 1 ;
  40. NEURON_A[NEURON_A_INDEX_NEXT].Resistance = 50 ;
  41. //NEURON_A[NEURON_A_INDEX_NEXT].Capacitance = 2;
  42. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_X = DISPLAY_PHYS_A[0].X / 7 * 1 ;
  43. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Y = 10 ;
  44. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Z = 0 ;
  45. NEURON_A_INDEX_NEXT++ ;
  46. //1 life
  47. NEURON_A[NEURON_A_INDEX_NEXT].Label[0] = 'B' ; NEURON_A[NEURON_A_INDEX_NEXT].Label[1] = '\0' ;
  48. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag = 1 ;
  49. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag__x3A__until = millis() + 10000 ;
  50. NEURON_A[NEURON_A_INDEX_NEXT].if_used = 1 ;
  51. NEURON_A[NEURON_A_INDEX_NEXT].if_modified = 1 ;
  52. NEURON_A[NEURON_A_INDEX_NEXT].Resistance = 50 ;
  53. //NEURON_A[NEURON_A_INDEX_NEXT].Capacitance = 2;
  54. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_X = DISPLAY_PHYS_A[0].X / 7 * 2 ;
  55. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Y = 10 ;
  56. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Z = 0 ;
  57. NEURON_A_INDEX_NEXT ++ ;
  58. //2
  59. NEURON_A[NEURON_A_INDEX_NEXT].Label[0] = 'C' ; NEURON_A[NEURON_A_INDEX_NEXT].Label[1] = '\0' ;
  60. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag = 1 ;
  61. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag__x3A__until = millis() + 10000 ;
  62. NEURON_A[NEURON_A_INDEX_NEXT].if_used = 1 ;
  63. NEURON_A[NEURON_A_INDEX_NEXT].if_modified = 1 ;
  64. NEURON_A[NEURON_A_INDEX_NEXT].Resistance = 50 ;
  65. //NEURON_A[NEURON_A_INDEX_NEXT].Capacitance = 2;
  66. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_X = DISPLAY_PHYS_A[0].X / 7 * 3 ;
  67. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Y = 10 ;
  68. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Z = 0 ;
  69. NEURON_A_INDEX_NEXT ++ ;
  70. //3
  71. NEURON_A[NEURON_A_INDEX_NEXT].Label[0] = 'D' ;
  72. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag = 1 ;
  73. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag__x3A__until = millis() + 10000 ;
  74. NEURON_A[NEURON_A_INDEX_NEXT].if_used = 1 ;
  75. NEURON_A[NEURON_A_INDEX_NEXT].if_modified = 1 ;
  76. NEURON_A[NEURON_A_INDEX_NEXT].Resistance = 50 ;
  77. //NEURON_A[NEURON_A_INDEX_NEXT].Capacitance = 2;
  78. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_X = DISPLAY_PHYS_A[0].X / 7 * 4 ;
  79. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Y = 10 ;
  80. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Z = 0 ;
  81. NEURON_A_INDEX_NEXT++ ;
  82. //4
  83. NEURON_A[NEURON_A_INDEX_NEXT].Label[0] = 'E' ;
  84. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag = 1 ;
  85. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag__x3A__until = millis() + 10000 ;
  86. NEURON_A[NEURON_A_INDEX_NEXT].if_used = 1 ;
  87. NEURON_A[NEURON_A_INDEX_NEXT].if_modified = 1 ;
  88. NEURON_A[NEURON_A_INDEX_NEXT].Resistance = 50 ;
  89. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_X = DISPLAY_PHYS_A[0].X / 7 * 5 ;
  90. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Y = 10 ;
  91. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Z = 0 ;
  92. NEURON_A_INDEX_NEXT++ ;
  93. //5
  94. NEURON_A[NEURON_A_INDEX_NEXT].Label[0] = 'F' ;
  95. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag = 1 ;
  96. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag__x3A__until = millis() + 10000 ;
  97. NEURON_A[NEURON_A_INDEX_NEXT].if_used = 1 ;
  98. NEURON_A[NEURON_A_INDEX_NEXT].if_modified = 1 ;
  99. NEURON_A[NEURON_A_INDEX_NEXT].Resistance = 50 ;
  100. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_X = DISPLAY_PHYS_A[0].X / 7 * 6 ;
  101. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Y = 10 ;
  102. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Z = 0 ;
  103. NEURON_A_INDEX_NEXT ++ ;
  104. //6
  105. NEURON_A[NEURON_A_INDEX_NEXT].Label[0] = 'S' ; NEURON_A[NEURON_A_INDEX_NEXT].Label[1] = '\0' ;
  106. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag = 1 ;
  107. NEURON_A[NEURON_A_INDEX_NEXT].Refactory_period__x3A__flag__x3A__until = millis() + 10000 ;
  108. NEURON_A[NEURON_A_INDEX_NEXT].if_used = 1 ;
  109. NEURON_A[NEURON_A_INDEX_NEXT].if_modified = 1 ;
  110. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_X = DISPLAY_PHYS_A[0].X / 7 * 0 + 15 ;
  111. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Y = 30 ;
  112. NEURON_A[NEURON_A_INDEX_NEXT].Coordinate_Z = 0 ;
  113. NEURON_A[NEURON_A_INDEX_NEXT].if_is_output = 1 ;
  114. NEURON_A_INDEX_NEXT ++ ;
  115. NEURON_A_reset_LOCAL();
  116. }
  117. bool Simulation_attract__x3A__calculate_A_reset() {
  118. }
  119. bool Current_synapse_A_reset() {
  120. Current_synapse_A_INDEX_NEXT = 0 ;
  121. Current_synapse_A_reset_LOCAL();
  122. }
  123. bool PORT_to_NEURON_A_reset() {
  124. PORT_to_NEURON_A_INDEX_NEXT = 0 ;
  125. PORT_to_NEURON_A_reset_LOCAL() ;
  126. }
  127. bool set_conf() {
  128. NEURON_TO_PORT_A_INDEX_NEXT = 0 ;
  129. NEURON_A_reset() ;
  130. Current_synapse_A_reset() ;
  131. PORT_to_NEURON_A_reset();
  132. // #include "automation_driven.submodule.struct.write_neuron.scenario.h"
  133. }
  134. int AA_Delay_global_sequence_level = 0 ; //to maitain next sequence ordered
  135. bool set_conf_R = set_conf();
  136. //const int action_button_input_Maximum_current = 3 ;
  137. //const int action_button_input_Time_constant = 2 ;
  138. //const int neuron_Resting_Potenial_latency = 10 ;
  139. const int neuron_Resting_Potenial_latency_test_print = 5000 ;
  140. //const int neuron_Refactory_period_ratio = 100 ; //to millis
  141. //const int Current_synapse_A_Delay_ratio = 100 ; //to millis
  142. const int Simulated_potential_show_lcd_latency = 1000 ;
  143. //const int neuron_print_latency = 10 ;
  144. //const int neuron_print_if_has_input_millis_delay = 500 ; //extra keep active synapse for time to show
  145. const int neuron_Resting_Potenial__printed__level = 1 ; //below will not refresh
  146. //const long neuron_Attract_min = -65 ; //parametr glowny do attract
  147. //#define debug_Input_bypassed
  148. //#define debug_Attract_bypassed
  149. //#define NEURON_A_LIMIT 20
  150. //#define Input_A_LIMIT 20
  151. //#define Current_synapse_A_LIMIT 20
  152. //#define Simulation_attract__x3A__calculate_A_LIMIT 10
  153. //#define Slave_Ports_Status_A_LIMIT 8