Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed RF24Network RF24
Revision 4:d7a0a07f21f3, committed 2021-05-20
- Comitter:
- Giamarchi
- Date:
- Thu May 20 07:26:02 2021 +0000
- Parent:
- 3:d605536db315
- Commit message:
- version 00
Changed in this revision
--- a/RF24.lib Thu Nov 05 05:59:18 2015 +0000 +++ b/RF24.lib Thu May 20 07:26:02 2021 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/users/akashvibhute/code/RF24/#e94be00fd19e +https://os.mbed.com/users/Giamarchi/code/RF24/#e8fd79e44284
--- a/RF24Network.lib Thu Nov 05 05:59:18 2015 +0000 +++ b/RF24Network.lib Thu May 20 07:26:02 2021 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/users/akashvibhute/code/RF24Network/#dfc8da7ac18c +https://os.mbed.com/users/Giamarchi/code/RF24Network/#be18fc3ba293
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/isen32_board.h Thu May 20 07:26:02 2021 +0000
@@ -0,0 +1,113 @@
+#include "mbed.h"
+
+// Nucleo Board associé à la carte ISEN
+
+DigitalOut Led1(LED1); // PA5 attention SPI CLK aussi
+DigitalIn BTN_User(PC_13);
+
+// ISEN32 Board
+
+DigitalOut L0(PB_1); // Dels, en sortie, reliée à PB1
+DigitalOut L1(PB_2);
+DigitalOut L2(PB_10);
+DigitalOut L3(PB_11);
+DigitalOut L4(PB_12);
+DigitalOut L5(PB_13);
+DigitalOut L6(PB_14);
+DigitalOut L7(PB_15); // la plus à gauche
+
+DigitalIn BTN1(PA_11); // Bouton Poussoir, en entrée, relié à PA11
+DigitalIn BTN2(PA_12);
+DigitalIn BTN3(PC_6);
+DigitalIn BTN4(PC_5);
+
+DigitalOut BZ1(PC_7); // Buzzer, en sortie, relié à PC7
+
+//DigitalOut M1(PB_4); // Moteur mini, en sortie, relié à PB4
+//PwmOut M1(PB_4); // Moteur mini en mode PWM
+
+// Lignes pour entrées analogiques
+AnalogIn RV1(A0); // RV1, en entrée analogique, relié à PA0
+AnalogIn RV2(A1); // RV2, en entrée analogique, relié à PA1
+AnalogIn SENSOR(A4); // Pour capteur externe, exemple capt. de temp. MCP9700 Attention en conflit possible avec DAC
+
+// Lignes SPI pour piloter le MAX7219
+SPI spi(PA_7, PA_6, PA_5);
+DigitalOut CS(PA_8);
+
+// Lignes I2C
+//DigitalOut SCL(PB_6);
+//DigitalOut SDA(PB_7);
+
+// Adresses des 2 EEPROMs I2C
+#define EEPROM1 0b1010000
+#define EEPROM2 0b1010001
+
+// Lignes pour piloter des servomoteurs
+//DigitalOut SERVO1(PB_9);
+//DigitalOut SERVO2(PB_8);
+//DigitalOut SERVO3(PC_8);
+//DigitalOut SERVO4(PC_9);
+
+// Lignes pour piloter 2 moteurs DC
+//DigitalOut EN1(PB_10);
+//PwmOut EN1(PB_10);
+//DigitalOut IN1(PB_1);
+//DigitalOut IN2(PB_2);
+
+void Set_8Dels(uint8_t position)
+{
+ L0 = position & 0x01;
+ L1 = position & 0x02;
+ L2 = position & 0x04;
+ L3 = position & 0x08;
+ L4 = position & 0x10;
+ L5 = position & 0x20;
+ L6 = position & 0x40;
+ L7 = position & 0x80;
+}
+
+/* MAX7219 : Interface SPI pour afficheur 7 segments */
+void Init_spi(void)
+{
+ spi.format(16,3); // SPI en mode 16 bits
+
+ CS = 0;
+// spi.write(0x0F01); // Test Display On
+// spi.write(0x0F00); // Test Display Off
+ spi.write(0x0C01);
+ CS = 1;
+
+ CS = 0;
+ spi.write(0x090F); // Mode BCD sur 4 digits
+ CS = 1;
+
+ CS = 0;
+ spi.write(0x0A03); // Intensité à 3/15
+ CS = 1;
+
+ CS = 0;
+ spi.write(0x0B03);
+ CS = 1;
+
+// CS = 0;
+// spi.write(0x0F01);
+// CS = 1;
+// wait_ms(1000);
+ CS = 0;
+ spi.write(0x0F00); // Test mode Off
+ CS = 1;
+
+ CS = 0;
+ spi.write(0x0101); // Chiffre des milliers
+ CS = 1;
+ CS = 0;
+ spi.write(0x0282); // Chiffre des centaines
+ CS = 1;
+ CS = 0;
+ spi.write(0x0303); // Chiffre des dizaines
+ CS = 1;
+ CS = 0;
+ spi.write(0x0404); // Chiffre des unités
+ CS = 1;
+}
--- a/main.cpp Thu Nov 05 05:59:18 2015 +0000
+++ b/main.cpp Thu May 20 07:26:02 2021 +0000
@@ -1,14 +1,15 @@
#include "mbed.h"
#include <RF24Network.h>
#include <RF24.h>
+#include "isen32_board.h"
-Serial pc(USBTX, USBRX);
+Serial pc(USBTX, USBRX); // 9600 baud par défaut
-#define nrf_CE D9
-#define nrf_CSN D10
-#define spi_SCK D3
-#define spi_MOSI D4
-#define spi_MISO D5
+#define nrf_CE PB_3 // D3 sur connecteur Arduino
+#define nrf_CSN PB_12
+#define spi_MOSI PB_15
+#define spi_MISO PB_14
+#define spi_SCK PB_13
RF24 radio(spi_MOSI, spi_MISO, spi_SCK, nrf_CE, nrf_CSN );
@@ -22,7 +23,7 @@
const uint16_t other_node = 00;
// How often to send payload packet to the other unit
-const unsigned long interval = 100; //ms
+const unsigned long interval = 1000; //ms
// When did we last send?
unsigned long last_sent;
@@ -35,24 +36,38 @@
// Structure of our payload
struct payload_t
{
- unsigned long ms;
- unsigned long counter;
+// unsigned long ms;
+// unsigned long counter;
+ uint8_t num;
+ uint8_t del;
};
+struct _node
+{
+ uint8_t num;
+ uint8_t del;
+};
int main()
{
- pc.baud(921600);
+ _node node;
+
+ BTN1.mode(PullUp); // Resist interne Pull up
+ pc.baud(9600);
wait_ms(1000);
- pc.printf("mBed RF24Network node: Tx\n");
+ pc.printf("mBed RF24Network node : 01\r\n");
radio.begin();
network.begin(/*channel*/ 90, /*node address*/ this_node);
wait_ms(2000);
t.start();
t_packet.start();
+
while(1)
{
+ // Refresh Dels
+ Set_8Dels(node.del);
+
// Pump the network regularly
network.update();
@@ -62,21 +77,38 @@
{
t.reset();
- pc.printf("Sending...");
+ pc.printf("Envoi...");
payload_t payload_tx;
- payload_tx.ms = t_packet.read_ms();
- payload_tx.counter = packets_sent++;
+ if(!BTN1)
+ payload_tx.num = 02;
+ else
+ payload_tx.num = 00;
+
+ payload_tx.del++;
RF24NetworkHeader header_tx(/*to node*/ other_node);
bool ok = network.write(header_tx,&payload_tx,sizeof(payload_tx));
if (ok)
- pc.printf("ok.\n");
+ pc.printf("%d ok.\r\n",payload_tx.del);
else
- pc.printf("failed.\n");
+ pc.printf("erreur.\r\n");
+
+
}
-
-
+ while ( network.available() )
+ {
+ // If so, grab it and print it out
+ RF24NetworkHeader header_rx;
+ payload_t payload_rx;
+ network.read(header_rx,&payload_rx,sizeof(payload_rx));
+ // pc.printf("Received packet # %d at %d ms\r\n",payload_rx.counter,payload_rx.ms);
+ pc.printf("Node %d del %d\r\n",payload_rx.num,payload_rx.del);
+
+ if (payload_rx.num == 01)
+ {
+ node.del = payload_rx.del;
+ }
+ }
}
-
}
\ No newline at end of file
--- a/mbed.bld Thu Nov 05 05:59:18 2015 +0000 +++ b/mbed.bld Thu May 20 07:26:02 2021 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/mbed_official/code/mbed/builds/9296ab0bfc11 \ No newline at end of file +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file