mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-30 21:02:32 +01:00 
			
		
		
		
	Fixed incorrect Dataflash functionality in the USBKEY board if the driver is modified for a single Dataflash chip (thanks to Jonathan Oakley).
This commit is contained in:
		
							parent
							
								
									7fd2349e1a
								
							
						
					
					
						commit
						f3049d958e
					
				| @ -66,13 +66,13 @@ | |||||||
| 			#define DATAFLASH_TOTALCHIPS                 1 // TODO: Replace with the number of Dataflashes on the board, max 2
 | 			#define DATAFLASH_TOTALCHIPS                 1 // TODO: Replace with the number of Dataflashes on the board, max 2
 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for no dataflash chip selected. */ | 			/** Mask for no dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_NO_CHIP                    DATAFLASH_CHIPCS_MASK | 			#define DATAFLASH_NO_CHIP                    0 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the first dataflash chip selected. */ | 			/** Mask for the first dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP1                      // TODO: Replace with mask to hold /CS of first Dataflash low, and all others high
 | 			#define DATAFLASH_CHIP1                      // TODO: Replace with mask with the pin attached to the first Dataflash /CS set
 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the second dataflash chip selected. */ | 			/** Mask for the second dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP2                      // TODO: Replace with mask to hold /CS of second Dataflash low, and all others high
 | 			#define DATAFLASH_CHIP2                      // TODO: Replace with mask with the pin attached to the second Dataflash /CS set
 | ||||||
| 
 | 
 | ||||||
| 			/** Internal main memory page size for the board's dataflash ICs. */ | 			/** Internal main memory page size for the board's dataflash ICs. */ | ||||||
| 			#define DATAFLASH_PAGE_SIZE                  // TODO: Replace with the page size for the Dataflash ICs
 | 			#define DATAFLASH_PAGE_SIZE                  // TODO: Replace with the page size for the Dataflash ICs
 | ||||||
| @ -134,7 +134,7 @@ | |||||||
| 
 | 
 | ||||||
| 			/** Selects the given dataflash chip.
 | 			/** Selects the given dataflash chip.
 | ||||||
| 			 * | 			 * | ||||||
| 			 *  \param[in]  ChipMask  Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is | 			 *  \param[in]  ChipMask  Mask of the Dataflash IC to select, in the form of a \c DATAFLASH_CHIPn mask (where n is | ||||||
| 			 *              the chip number). | 			 *              the chip number). | ||||||
| 			 */ | 			 */ | ||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | ||||||
|  | |||||||
| @ -66,13 +66,13 @@ | |||||||
| 			#define DATAFLASH_TOTALCHIPS                 1 // TODO: Replace with the number of Dataflashes on the board, max 2
 | 			#define DATAFLASH_TOTALCHIPS                 1 // TODO: Replace with the number of Dataflashes on the board, max 2
 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for no dataflash chip selected. */ | 			/** Mask for no dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_NO_CHIP                    DATAFLASH_CHIPCS_MASK | 			#define DATAFLASH_NO_CHIP                    0 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the first dataflash chip selected. */ | 			/** Mask for the first dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP1                      // TODO: Replace with mask to hold /CS of first Dataflash low, and all others high
 | 			#define DATAFLASH_CHIP1                      // TODO: Replace with mask with the pin attached to the first Dataflash /CS set
 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the second dataflash chip selected. */ | 			/** Mask for the second dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP2                      // TODO: Replace with mask to hold /CS of second Dataflash low, and all others high
 | 			#define DATAFLASH_CHIP2                      // TODO: Replace with mask with the pin attached to the second Dataflash /CS set
 | ||||||
| 
 | 
 | ||||||
| 			/** Internal main memory page size for the board's dataflash ICs. */ | 			/** Internal main memory page size for the board's dataflash ICs. */ | ||||||
| 			#define DATAFLASH_PAGE_SIZE                  // TODO: Replace with the page size for the Dataflash ICs
 | 			#define DATAFLASH_PAGE_SIZE                  // TODO: Replace with the page size for the Dataflash ICs
 | ||||||
| @ -130,7 +130,7 @@ | |||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) | 			static inline uint8_t Dataflash_GetSelectedChip(void) | ||||||
| 			{ | 			{ | ||||||
| 				return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | 				return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Selects the given dataflash chip.
 | 			/** Selects the given dataflash chip.
 | ||||||
| @ -141,7 +141,7 @@ | |||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | ||||||
| 			{ | 			{ | ||||||
| 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask); | 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | ||||||
|  | |||||||
| @ -31,6 +31,7 @@ | |||||||
|   *   - Fixed logic hole breaking USB operations on a USB controller with only one supported USB mode and no USB_DEVICE_ONLY or USB_HOST_ONLY |   *   - Fixed logic hole breaking USB operations on a USB controller with only one supported USB mode and no USB_DEVICE_ONLY or USB_HOST_ONLY | ||||||
|   *     configuration token set |   *     configuration token set | ||||||
|   *   - Fixed possible rounding in the VERSION_BCD() macros for some 0.01 step increments (thanks to Oliver Zander) |   *   - Fixed possible rounding in the VERSION_BCD() macros for some 0.01 step increments (thanks to Oliver Zander) | ||||||
|  |   *   - Fixed incorrect Dataflash functionality in the USBKEY board if the driver is modified for a single Dataflash chip (thanks to Jonathan Oakley) | ||||||
|   *  - Library Applications: |   *  - Library Applications: | ||||||
|   *   - Fixed broken RESET_TOGGLES_LIBUSB_COMPAT compile time option in the AVRISP-MKII project |   *   - Fixed broken RESET_TOGGLES_LIBUSB_COMPAT compile time option in the AVRISP-MKII project | ||||||
|   *   - Fixed incompatibility in the CDC class bootloader on some systems (thanks to Sylvain Munaut) |   *   - Fixed incompatibility in the CDC class bootloader on some systems (thanks to Sylvain Munaut) | ||||||
|  | |||||||
| @ -66,7 +66,7 @@ | |||||||
| 	/* Private Interface - For use in library only: */ | 	/* Private Interface - For use in library only: */ | ||||||
| 	#if !defined(__DOXYGEN__) | 	#if !defined(__DOXYGEN__) | ||||||
| 		/* Macros: */ | 		/* Macros: */ | ||||||
| 			#define DATAFLASH_CHIPCS_MASK                (1 << 6) | 			#define DATAFLASH_CHIPCS_MASK                DATAFLASH_CHIP1 | ||||||
| 			#define DATAFLASH_CHIPCS_DDR                 DDRE | 			#define DATAFLASH_CHIPCS_DDR                 DDRE | ||||||
| 			#define DATAFLASH_CHIPCS_PORT                PORTE | 			#define DATAFLASH_CHIPCS_PORT                PORTE | ||||||
| 	#endif | 	#endif | ||||||
| @ -77,10 +77,10 @@ | |||||||
| 			#define DATAFLASH_TOTALCHIPS                 1 | 			#define DATAFLASH_TOTALCHIPS                 1 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for no dataflash chip selected. */ | 			/** Mask for no dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_NO_CHIP                    DATAFLASH_CHIPCS_MASK | 			#define DATAFLASH_NO_CHIP                    0 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the first dataflash chip selected. */ | 			/** Mask for the first dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP1                      0 | 			#define DATAFLASH_CHIP1                      (1 << 6) | ||||||
| 
 | 
 | ||||||
| 			/** Internal main memory page size for the board's dataflash IC. */ | 			/** Internal main memory page size for the board's dataflash IC. */ | ||||||
| 			#define DATAFLASH_PAGE_SIZE                  512 | 			#define DATAFLASH_PAGE_SIZE                  512 | ||||||
| @ -133,12 +133,12 @@ | |||||||
| 			/** Determines the currently selected dataflash chip.
 | 			/** Determines the currently selected dataflash chip.
 | ||||||
| 			 * | 			 * | ||||||
| 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | ||||||
| 			 *  or a DATAFLASH_CHIPn mask (where n is the chip number). | 			 *          or a DATAFLASH_CHIPn mask (where n is the chip number). | ||||||
| 			 */ | 			 */ | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) | 			static inline uint8_t Dataflash_GetSelectedChip(void) | ||||||
| 			{ | 			{ | ||||||
| 				return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | 				return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Selects the given dataflash chip.
 | 			/** Selects the given dataflash chip.
 | ||||||
| @ -149,7 +149,7 @@ | |||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | ||||||
| 			{ | 			{ | ||||||
| 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask); | 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | ||||||
|  | |||||||
| @ -66,7 +66,7 @@ | |||||||
| 	/* Private Interface - For use in library only: */ | 	/* Private Interface - For use in library only: */ | ||||||
| 	#if !defined(__DOXYGEN__) | 	#if !defined(__DOXYGEN__) | ||||||
| 		/* Macros: */ | 		/* Macros: */ | ||||||
| 			#define DATAFLASH_CHIPCS_MASK                (1 << 4) | 			#define DATAFLASH_CHIPCS_MASK                DATAFLASH_CHIP1 | ||||||
| 			#define DATAFLASH_CHIPCS_DDR                 DDRB | 			#define DATAFLASH_CHIPCS_DDR                 DDRB | ||||||
| 			#define DATAFLASH_CHIPCS_PORT                PORTB | 			#define DATAFLASH_CHIPCS_PORT                PORTB | ||||||
| 	#endif | 	#endif | ||||||
| @ -77,10 +77,10 @@ | |||||||
| 			#define DATAFLASH_TOTALCHIPS                 1 | 			#define DATAFLASH_TOTALCHIPS                 1 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for no dataflash chip selected. */ | 			/** Mask for no dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_NO_CHIP                    DATAFLASH_CHIPCS_MASK | 			#define DATAFLASH_NO_CHIP                    0 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the first dataflash chip selected. */ | 			/** Mask for the first dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP1                      0 | 			#define DATAFLASH_CHIP1                      (1 << 4) | ||||||
| 
 | 
 | ||||||
| 			/** Internal main memory page size for the board's dataflash IC. */ | 			/** Internal main memory page size for the board's dataflash IC. */ | ||||||
| 			#define DATAFLASH_PAGE_SIZE                  512 | 			#define DATAFLASH_PAGE_SIZE                  512 | ||||||
| @ -133,12 +133,12 @@ | |||||||
| 			/** Determines the currently selected dataflash chip.
 | 			/** Determines the currently selected dataflash chip.
 | ||||||
| 			 * | 			 * | ||||||
| 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | ||||||
| 			 *  or a DATAFLASH_CHIPn mask (where n is the chip number). | 			 *          or a DATAFLASH_CHIPn mask (where n is the chip number). | ||||||
| 			 */ | 			 */ | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) | 			static inline uint8_t Dataflash_GetSelectedChip(void) | ||||||
| 			{ | 			{ | ||||||
| 				return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | 				return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Selects the given dataflash chip.
 | 			/** Selects the given dataflash chip.
 | ||||||
| @ -149,7 +149,7 @@ | |||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | ||||||
| 			{ | 			{ | ||||||
| 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask); | 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | ||||||
|  | |||||||
| @ -66,7 +66,7 @@ | |||||||
| 	/* Private Interface - For use in library only: */ | 	/* Private Interface - For use in library only: */ | ||||||
| 	#if !defined(__DOXYGEN__) | 	#if !defined(__DOXYGEN__) | ||||||
| 		/* Macros: */ | 		/* Macros: */ | ||||||
| 			#define DATAFLASH_CHIPCS_MASK                (1 << 2) | 			#define DATAFLASH_CHIPCS_MASK                DATAFLASH_CHIP1 | ||||||
| 			#define DATAFLASH_CHIPCS_DDR                 DDRC | 			#define DATAFLASH_CHIPCS_DDR                 DDRC | ||||||
| 			#define DATAFLASH_CHIPCS_PORT                PORTC | 			#define DATAFLASH_CHIPCS_PORT                PORTC | ||||||
| 	#endif | 	#endif | ||||||
| @ -77,10 +77,10 @@ | |||||||
| 			#define DATAFLASH_TOTALCHIPS                 1 | 			#define DATAFLASH_TOTALCHIPS                 1 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for no dataflash chip selected. */ | 			/** Mask for no dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_NO_CHIP                    DATAFLASH_CHIPCS_MASK | 			#define DATAFLASH_NO_CHIP                    0 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the first dataflash chip selected. */ | 			/** Mask for the first dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP1                      0 | 			#define DATAFLASH_CHIP1                      (1 << 2) | ||||||
| 
 | 
 | ||||||
| 			/** Internal main memory page size for the board's dataflash IC. */ | 			/** Internal main memory page size for the board's dataflash IC. */ | ||||||
| 			#define DATAFLASH_PAGE_SIZE                  1024 | 			#define DATAFLASH_PAGE_SIZE                  1024 | ||||||
| @ -133,12 +133,12 @@ | |||||||
| 			/** Determines the currently selected dataflash chip.
 | 			/** Determines the currently selected dataflash chip.
 | ||||||
| 			 * | 			 * | ||||||
| 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | ||||||
| 			 *  or a DATAFLASH_CHIPn mask (where n is the chip number). | 			 *          or a DATAFLASH_CHIPn mask (where n is the chip number). | ||||||
| 			 */ | 			 */ | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) | 			static inline uint8_t Dataflash_GetSelectedChip(void) | ||||||
| 			{ | 			{ | ||||||
| 				return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | 				return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Selects the given dataflash chip.
 | 			/** Selects the given dataflash chip.
 | ||||||
| @ -149,7 +149,7 @@ | |||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | ||||||
| 			{ | 			{ | ||||||
| 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask); | 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | ||||||
|  | |||||||
| @ -67,7 +67,7 @@ | |||||||
| 	/* Private Interface - For use in library only: */ | 	/* Private Interface - For use in library only: */ | ||||||
| 	#if !defined(__DOXYGEN__) | 	#if !defined(__DOXYGEN__) | ||||||
| 		/* Macros: */ | 		/* Macros: */ | ||||||
| 			#define DATAFLASH_CHIPCS_MASK                ((1 << 1) | (1 << 0)) | 			#define DATAFLASH_CHIPCS_MASK                (DATAFLASH_CHIP1 | DATAFLASH_CHIP2) | ||||||
| 			#define DATAFLASH_CHIPCS_DDR                 DDRE | 			#define DATAFLASH_CHIPCS_DDR                 DDRE | ||||||
| 			#define DATAFLASH_CHIPCS_PORT                PORTE | 			#define DATAFLASH_CHIPCS_PORT                PORTE | ||||||
| 	#endif | 	#endif | ||||||
| @ -78,13 +78,13 @@ | |||||||
| 			#define DATAFLASH_TOTALCHIPS                 2 | 			#define DATAFLASH_TOTALCHIPS                 2 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for no dataflash chip selected. */ | 			/** Mask for no dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_NO_CHIP                    DATAFLASH_CHIPCS_MASK | 			#define DATAFLASH_NO_CHIP                    0 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the first dataflash chip selected. */ | 			/** Mask for the first dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP1                      (1 << 1) | 			#define DATAFLASH_CHIP1                      (1 << 0) | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the second dataflash chip selected. */ | 			/** Mask for the second dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP2                      (1 << 0) | 			#define DATAFLASH_CHIP2                      (1 << 1) | ||||||
| 
 | 
 | ||||||
| 			/** Internal main memory page size for the board's dataflash ICs. */ | 			/** Internal main memory page size for the board's dataflash ICs. */ | ||||||
| 			#define DATAFLASH_PAGE_SIZE                  1024 | 			#define DATAFLASH_PAGE_SIZE                  1024 | ||||||
| @ -137,12 +137,12 @@ | |||||||
| 			/** Determines the currently selected dataflash chip.
 | 			/** Determines the currently selected dataflash chip.
 | ||||||
| 			 * | 			 * | ||||||
| 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | ||||||
| 			 *  or a DATAFLASH_CHIPn mask (where n is the chip number). | 			 *          or a DATAFLASH_CHIPn mask (where n is the chip number). | ||||||
| 			 */ | 			 */ | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) | 			static inline uint8_t Dataflash_GetSelectedChip(void) | ||||||
| 			{ | 			{ | ||||||
| 				return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | 				return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Selects the given dataflash chip.
 | 			/** Selects the given dataflash chip.
 | ||||||
| @ -153,7 +153,7 @@ | |||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | ||||||
| 			{ | 			{ | ||||||
| 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask); | 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | ||||||
|  | |||||||
| @ -83,7 +83,7 @@ | |||||||
| 	/* Private Interface - For use in library only: */ | 	/* Private Interface - For use in library only: */ | ||||||
| 	#if !defined(__DOXYGEN__) | 	#if !defined(__DOXYGEN__) | ||||||
| 		/* Macros: */ | 		/* Macros: */ | ||||||
| 			#define DATAFLASH_CHIPCS_MASK                (1 << 5) | 			#define DATAFLASH_CHIPCS_MASK                DATAFLASH_CHIP1 | ||||||
| 			#define DATAFLASH_CHIPCS_DDR                 DDRB | 			#define DATAFLASH_CHIPCS_DDR                 DDRB | ||||||
| 			#define DATAFLASH_CHIPCS_PORT                PORTB | 			#define DATAFLASH_CHIPCS_PORT                PORTB | ||||||
| 	#endif | 	#endif | ||||||
| @ -94,10 +94,10 @@ | |||||||
| 			#define DATAFLASH_TOTALCHIPS                 1 | 			#define DATAFLASH_TOTALCHIPS                 1 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for no dataflash chip selected. */ | 			/** Mask for no dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_NO_CHIP                    DATAFLASH_CHIPCS_MASK | 			#define DATAFLASH_NO_CHIP                    0 | ||||||
| 
 | 
 | ||||||
| 			/** Mask for the first dataflash chip selected. */ | 			/** Mask for the first dataflash chip selected. */ | ||||||
| 			#define DATAFLASH_CHIP1                      0 | 			#define DATAFLASH_CHIP1                      (1 << 5) | ||||||
| 
 | 
 | ||||||
| 			#if ((BOARD != BOARD_XPLAIN_REV1) || defined(__DOXYGEN__)) | 			#if ((BOARD != BOARD_XPLAIN_REV1) || defined(__DOXYGEN__)) | ||||||
| 				/** Internal main memory page size for the board's dataflash ICs. */ | 				/** Internal main memory page size for the board's dataflash ICs. */ | ||||||
| @ -156,12 +156,12 @@ | |||||||
| 			/** Determines the currently selected dataflash chip.
 | 			/** Determines the currently selected dataflash chip.
 | ||||||
| 			 * | 			 * | ||||||
| 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | ||||||
| 			 *  or a DATAFLASH_CHIPn mask (where n is the chip number). | 			 *          or a DATAFLASH_CHIPn mask (where n is the chip number). | ||||||
| 			 */ | 			 */ | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) | 			static inline uint8_t Dataflash_GetSelectedChip(void) | ||||||
| 			{ | 			{ | ||||||
| 				return (DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | 				return (~DATAFLASH_CHIPCS_PORT & DATAFLASH_CHIPCS_MASK); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Selects the given dataflash chip.
 | 			/** Selects the given dataflash chip.
 | ||||||
| @ -172,7 +172,7 @@ | |||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) ATTR_ALWAYS_INLINE; | ||||||
| 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | 			static inline void Dataflash_SelectChip(const uint8_t ChipMask) | ||||||
| 			{ | 			{ | ||||||
| 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT & ~DATAFLASH_CHIPCS_MASK) | ChipMask); | 				DATAFLASH_CHIPCS_PORT = ((DATAFLASH_CHIPCS_PORT | DATAFLASH_CHIPCS_MASK) & ~ChipMask); | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | 			/** Deselects the current dataflash chip, so that no dataflash is selected. */ | ||||||
|  | |||||||
| @ -66,7 +66,7 @@ | |||||||
| 	/* Private Interface - For use in library only: */ | 	/* Private Interface - For use in library only: */ | ||||||
| 	#if !defined(__DOXYGEN__) | 	#if !defined(__DOXYGEN__) | ||||||
| 		/* Macros: */ | 		/* Macros: */ | ||||||
| 			#define DATAFLASH_CHIPCS_MASK                (1 << 4) | 			#define DATAFLASH_CHIPCS_MASK                DATAFLASH_CHIP1 | ||||||
| 			#define DATAFLASH_CHIPCS_PORT                PORTF | 			#define DATAFLASH_CHIPCS_PORT                PORTF | ||||||
| 	#endif | 	#endif | ||||||
| 
 | 
 | ||||||
| @ -134,7 +134,7 @@ | |||||||
| 			/** Determines the currently selected dataflash chip.
 | 			/** Determines the currently selected dataflash chip.
 | ||||||
| 			 * | 			 * | ||||||
| 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | ||||||
| 			 *  or a DATAFLASH_CHIPn mask (where n is the chip number). | 			 *          or a DATAFLASH_CHIPn mask (where n is the chip number). | ||||||
| 			 */ | 			 */ | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) | 			static inline uint8_t Dataflash_GetSelectedChip(void) | ||||||
|  | |||||||
| @ -66,7 +66,7 @@ | |||||||
| 	/* Private Interface - For use in library only: */ | 	/* Private Interface - For use in library only: */ | ||||||
| 	#if !defined(__DOXYGEN__) | 	#if !defined(__DOXYGEN__) | ||||||
| 		/* Macros: */ | 		/* Macros: */ | ||||||
| 			#define DATAFLASH_CHIPCS_MASK                (1 << 2) | 			#define DATAFLASH_CHIPCS_MASK                DATAFLASH_CHIP1 | ||||||
| 			#define DATAFLASH_CHIPCS_PORT                PORTD | 			#define DATAFLASH_CHIPCS_PORT                PORTD | ||||||
| 	#endif | 	#endif | ||||||
| 
 | 
 | ||||||
| @ -136,7 +136,7 @@ | |||||||
| 			/** Determines the currently selected dataflash chip.
 | 			/** Determines the currently selected dataflash chip.
 | ||||||
| 			 * | 			 * | ||||||
| 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | 			 *  \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected | ||||||
| 			 *  or a DATAFLASH_CHIPn mask (where n is the chip number). | 			 *          or a DATAFLASH_CHIPn mask (where n is the chip number). | ||||||
| 			 */ | 			 */ | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | 			static inline uint8_t Dataflash_GetSelectedChip(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; | ||||||
| 			static inline uint8_t Dataflash_GetSelectedChip(void) | 			static inline uint8_t Dataflash_GetSelectedChip(void) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dean Camera
						Dean Camera